wpf expander 设置新的 header 模板后,无法绑定数据
<Window.Resources>
<DataTemplate x:Key="listitemExpander">
<Expander Header="{Binding XPath=ID}" Margin="0" Grid.Row="1" VerticalAlignment="Top" IsExpanded="True" HorizontalAlignment="Stretch" MouseLeftButtonDown="Expander_MouseLeftButtonDown">
<Expander.HeaderTemplate>
<DataTemplate>
<Grid>
<TextBlock HorizontalAlignment="Right" Margin="0,0,-55.147,-15.837" TextWrapping="Wrap" Text="{Binding XPath=ID}" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
<CheckBox Content="" HorizontalAlignment="Right" Margin="0,0,-99.147,-1.837" VerticalAlignment="Bottom"/>
</Grid>
</DataTemplate>
</Expander.HeaderTemplate>
.....
以上是简要的代码
我做一个listbox ,listbox 前台代码绑定如下 I
temTemplate="{StaticResource listitemExpander}"
后台listbox绑定XmlDataProvider,
上面绑定的源是成功的,我做过测试.
现在长话短说,如果将<Expander.HeaderTemplate>这个节点内的内容全部删除, 模板内因有<Expander Header="{Binding XPath=ID}" 这个绑定,所以Expander的Header显示绑定数据,但是如果将 Header="{Binding XPath=ID}"删除,
在<TextBlock Text="{Binding XPath=ID}" ...>这里绑定 ID,则怎么也不显示数据
我想将<TextBlock Text="{Binding XPath=ID}" ...> 直接改为<TextBlock Text="{Binding /*这里绑定Expander的header,反正header也被隐藏了不显示*/}" ...>却不知道该怎么在这个模板中绑定 expander的header,求高手解答.先谢谢了.
<DataTemplate x:Key="listitemExpander">
<Expander Header="{Binding XPath=ID}" Margin="0" Grid.Row="1" VerticalAlignment="Top" IsExpanded="True" HorizontalAlignment="Stretch" MouseLeftButtonDown="Expander_MouseLeftButtonDown">
<Expander.HeaderTemplate>
<DataTemplate>
<Grid>
<TextBlock HorizontalAlignment="Right" Margin="0,0,-55.147,-15.837" TextWrapping="Wrap" Text="{Binding XPath=ID}" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
<CheckBox Content="" HorizontalAlignment="Right" Margin="0,0,-99.147,-1.837" VerticalAlignment="Bottom"/>
</Grid>
</DataTemplate>
</Expander.HeaderTemplate>
.....
以上是简要的代码
我做一个listbox ,listbox 前台代码绑定如下 I
temTemplate="{StaticResource listitemExpander}"
后台listbox绑定XmlDataProvider,
上面绑定的源是成功的,我做过测试.
现在长话短说,如果将<Expander.HeaderTemplate>这个节点内的内容全部删除, 模板内因有<Expander Header="{Binding XPath=ID}" 这个绑定,所以Expander的Header显示绑定数据,但是如果将 Header="{Binding XPath=ID}"删除,
在<TextBlock Text="{Binding XPath=ID}" ...>这里绑定 ID,则怎么也不显示数据
我想将<TextBlock Text="{Binding XPath=ID}" ...> 直接改为<TextBlock Text="{Binding /*这里绑定Expander的header,反正header也被隐藏了不显示*/}" ...>却不知道该怎么在这个模板中绑定 expander的header,求高手解答.先谢谢了.
...全文
相关推荐
WPF的Expander控件使用方法
Expander控件的核心属性和事件如下:1. **Header**: 这个属性用于设置Expander的头部文本或者任何其他UI元素。你可以通过数据绑定或者其他方式来定制这个区域。2.
WPF实现Expander折叠展开动画
为了改变这种行为,我们可以从头开始编写Expander的样式,利用WPF的模板和触发器来控制动画。1.
wpf Expander 动画效果
**应用模板**:最后,将自定义的ControlTemplate应用于Expander控件,替换默认样式。
WPF内容控件使用GroupBox组合框控件,Expander控件,TabControl标签控件
你还可以通过数据绑定和MVVM模式动态地添加、删除或切换TabItem。**综合应用**在实际开发中,这三个控件经常结合使用。
Expander可折叠控件
- Expander控件支持数据绑定,可以将Header和IsExpanded属性绑定到数据源,实现动态控制。5.


