我有三个标签,我给它们标签值0到2,如果任何用户动态更改标签之一的属性然后在所有控件中更改reflate我有动态属性窗口,用户可以在其中更改样式。
我如何应用变化?
我在设计方面的标签属性如下:
<Label Content="Kaju Kari" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="498.821,180,0,0" VerticalAlignment="Top" Width="80" FontSize="16" Grid.Column="1" Tag="0"/>
<Label Content="Paneer Kadai" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="493.821,213,0,0" VerticalAlignment="Top" Width="103" FontSize="16" Grid.Column="1" Tag="1"/>
答案 0 :(得分:0)
您需要将标签绑定到ViewModel中更改的属性。
请注意,您的ViewModel需要实现接口INotifyPropertyChanged
。除此之外,受影响的属性还需要向视图发布通知,以便发出信号,表示已更改,因此需要在视图中进行更新。
话虽这么说,你需要有2个属性,绑定到你的2个标签,以便存档反射。您只需要在第一个属性的setter
方法中更改第二个属性。
这可能如下所示:
private string _Property1;
private string _Property2;
public string Property1
{
set
{
if(_Property1) == value) return;
_Property1 = value;
_Property2 = value;
OnPropertyChange(() => Property1);
}
}