0
...所以我有兩個要素,我想的是,checbox的財產器isChecked將綁定到我的 「IsAlwaysOn」屬性這是我的我的Class對象(雙向),並給一個元素combox選擇值屬性,如果值爲'enter',那麼IsChecked爲false, 有什麼想法?
...所以我有兩個要素,我想的是,checbox的財產器isChecked將綁定到我的 「IsAlwaysOn」屬性這是我的我的Class對象(雙向),並給一個元素combox選擇值屬性,如果值爲'enter',那麼IsChecked爲false, 有什麼想法?
您可以使用DataTrigger做到這一點,但我不會推薦它,因爲CheckBox的價值將無法一直保存到MyClass.IsAlwaysOn
<Style x:Key="MyCheckBoxStyle" TargetType="{x:Type CheckBox}">
<Setter Property="IsChecked" Value="{Binding IsAlwaysOn}" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyComboBox, Path=SelectedValue}" Value="Enter">
<Setter Property="IsChecked" Value="False" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style>
相反,我會建議在PropertyChange
通知處理此在MyClass
。爲了防止更改,我要麼在MyClass
中包含一個屬性來確定CheckBox是否可以更改,或者在上述觸發器中禁用CheckBox。
void MyClass_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "SelectedComboBoxItem")
{
if (SelectedComboBoxItem == "Enter")
{
IsAlwaysOn = false;
CanChangeCheckBox = false;
}
else
{
CanChangeCheckBox = true;
}
}
}
發佈您當前的XAML – Paparazzi 2011-12-20 14:40:13