首页 新闻 搜索 专区 学院

WPF数据绑定两个小问题

0
悬赏园豆:30 [待解决问题]

1.如何将Checkbox的值与一个bool变量绑定?
好像与别的控件绑定不同,也Google了一下,有这篇:http://www.programbbs.com/doc/4455.htm,照做之后还是没用。

2.如何将HierarchicalDataTemplate应用到多个控件中?
如果是DataTemplate,很容易,指定Key就行了:

<DataTemplate x:Key="ABCTemplate" DataType="{x:Type local:ABC}">
<TextBlock Text="{Binding Path=Name}" />
</DataTemplate>
然后用到的时候指定一下ItemTemplate。

<StackPanel>
<TreeView ItemsSource="{Binding }" ItemTemplate="{StaticResource ABCTemplate}"/>
<TreeView ItemsSource="{Binding }" ItemTemplate="{StaticResource ABCTemplate}"/>
</StackPanel>
但是HierarchicalDataTemplate用同样的方法就是不行:

首先,这样行:

<TreeView ItemsSource="{Binding }" ItemTemplate="{StaticResource ProfileTemplate}">
<TreeView.Resources>
<HierarchicalDataTemplate x:Key="ProfileTemplate" DataType="{x:Type local:Profile}"
ItemsSource
="{Binding Path=abc}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
<DataTemplate x:Key="ABCTemplate" DataType="{x:Type local:ABC}">
<TextBlock Text="{Binding Path=Name}" /></DataTemplate>
</TreeView.Resources>
但这样就不行:

<StackPanel>
<StackPanel.Resources>
<HierarchicalDataTemplate x:Key="ProfileTemplate" DataType="{x:Type local:Profile}"
ItemsSource
="{Binding Path=abc}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
<DataTemplate x:Key="ABCTemplate" DataType="{x:Type local:ABC}">
<TextBlock Text="{Binding Path=Name}" /></DataTemplate>
</StackPanel.Resources>
<TreeView ItemsSource="{Binding }" ItemTemplate="{StaticResource ProfileTemplate}"/>
<TreeView ItemsSource="{Binding }" ItemTemplate="{StaticResource ProfileTemplate}"/>
</StackPanel>

 

不知道有没有什么好办法。

问题补充: 问题2已解决,问题1还没能解决,再等几天吧。
孤独的长跑者的主页 孤独的长跑者 | 初学一级 | 园豆:170
提问于:2010-09-14 17:05
< >
分享
所有回答(1)
0

我觉得问题出在这里:你定义的Bool变量的属性不是依赖项属性,这样绑定是没用的。XAML绑定的首要条件就是绑定的属性要是依赖项属性。

角逐魏蜀吴 | 园豆:533 (小虾三级) | 2010-11-17 12:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册