據我所知WinRT中不支持DataTriggers。但是,如何解決這個問題?WinRT中的DataTriggers
我有一個模型,實現了「Selected」屬性,擴展了INotifyPropertyChanged。如果選擇爲真,我想將按鈕的邊框更改爲紅色。我只是不知道如何將財產變化與觸發狀態變化聯繫起來。
型號
class MyObject : INotifyPropertyChanged
{
public MyObject()
{
Selected = true;
}
private bool _selected;
public bool Selected
{
get { return _selected; }
set { _selected = value; OnPropertyChanged("Selected"); }
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
}
XAML
<Grid>
<Button Margin="131,97,171,124" Content="Hello!" DataContext="MyObject" d:DataContext="{d:DesignInstance local:MyObject}">
<Button.Template>
<ControlTemplate TargetType="Button">
<Border BorderThickness="1">
<Border.BorderBrush>
<SolidColorBrush Color="Aqua"/>
</Border.BorderBrush>
<StackPanel>
<TextBlock Text="{TemplateBinding Content}"/>
<TextBlock Text="{Binding Selected}"/>
</StackPanel>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
您發佈的代碼,但並不表明,什麼不妥的地方。 –
我在問我如何在MyObject的Selected屬性更改時觸發VisualState更改。因爲,DataTriggers不支持,我不知道如何做到這一點。 – States