改变控制的知名度在我的申请,我有一个StackPanel我想保持隐藏(或折叠,无论保持它的视线,直到它的需要),它是将可见,当用户点击一个按钮。麻烦从控制
我碰到的,用我的MVVM技术的基础知识的问题,是有StackPanel中的知名度绑定到我的视图模型的属性。该属性是Visibility类型,并且该按钮使用一个使用ICommand接口的自定义命令来调用我的viewmodel中的方法,该方法在此阶段仅更改堆叠面板所绑定的可见性属性的值。
我已确认该命令本身是成功调用该方法,能见度属性被改变,但StackPanel的,而我已绑定了visibility属性拒绝成为可见。
我会尽力来构建我正在使用的代码的说明性的例子:
<Button Content="Show StackPanel" Command="{Binding Path=ShowPanelCommand}" />
<StackPanel Visibility="{Binding Path=panelVisibility}" />
并按照指令在视图模型调用的方法:
public Visibility panelVisibility { get; set; }
public void ShowThePanel()
{
panelVisibility = Visibility.Visible;
}
我对于C#/ .NET和一般编程来说相当新颖。
我在很短的时间量学到了很多东西,但过一段时间我做碰壁这样。
一些指导援助将是非常宝贵的我。
我打开了为实现我在这个问题概括的结果更好/更有效的技术建议,但跟你一样,我想知道我错过了还是做错了的我的理解好处同时试图使用这种特殊的方式。
感谢您的帮助。
@Sandwich您需要一种方法来通知UI,该属性的值已更改,这只是它的一种方式(MVVM 101)。通过'OnPropertyChanged(“PanelVisibility”);'在'set'下面,它通知UI的变化。使用自动属性时,它不会通知用户界面您ViewModel中的任何更改。 – Willem