在我的C#Windows应用商店应用中,我尝试将Visibility
的{{1}}属性绑定到ListBoxItem
中每个Items
的属性。< / p>
基本上我拥有的是:
ItemsSource
在我的datacontext中,我有一个class ExampleClass
{
bool isVisible;
}
列表。我要对ExampleClass
尝试的内容如下:
ListBox
但我无法绑定<ListBox x:Name="ExampleLB" DataContext=""{StaticResource myContext}" ItemsSource="{Binding ExampleClassList}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<!--This doesnt work-->
<Setter Property="Visibility" Value="{Binding isVisible, Converter={StaticResource VisibilityConverter}"/>
</Style>
</ListBox.ItemContainerStyle>
/*More code here*/
</ListBox>
内的isVisible
属性。相反,它希望我绑定到我的ListBox.ItemContainerStyle
的另一个属性。如果我向下移动几行到DataContext
我能够绑定到ListBox.ItemTemplate
中各个ExampleClass
项的属性,但为什么我无法绑定到那些ItemsSource
属于ItemContainerStyle
内部几行的属性?
答案 0 :(得分:1)
您无法绑定到某个字段。您需要将其设为属性并实施INotifyPropertyChanged
。
bool isVisible;
public bool IsVisible
{
get { return isVisible;}
set
{
isVisible = value;
OnPropertyChanged("IsVisible");
}
}