我有一个用户控件,其中包含两个comboobx,六个文本框和4个标签.I 我在主窗口xaml中添加了这个用户控件,如下所示:
<Grid Height="Auto" HorizontalAlignment="Left" Margin="0,156,0,0" Name="grid1" VerticalAlignment="Top" Width="320" />
<Grid Height="Auto" Grid.Column="1" HorizontalAlignment="Left" Margin="0,156,0,0" Name="grid2" VerticalAlignment="Top" Width="320" />
<Grid Height="Auto" Grid.Column="2" HorizontalAlignment="Left" Margin="0,156,0,0" Name="grid3" VerticalAlignment="Top" Width="320" />
<Grid Height="Auto" Grid.Column="3" HorizontalAlignment="Left" Margin="0,156,0,0" Name="grid4" VerticalAlignment="Top" Width="320" />
我为UserControl创建了视图模型,其名称为UserControlViewModel,主窗口具有名称为MainViewModel的视图模型。
我在mainViewModel中创建了usercontrol的对象。
关于运行时的问题我必须从grid2和grid4中的UserControl禁用组合box1。
答案 0 :(得分:1)
您可以在mainwindow中为usercontrol命名,然后可以访问usercontrol的任何元素,然后可以设置usercontrol的任何属性,如下所示。
请为您的主窗口中的用户控件命名。
x:Name =“MyUserControl”
在Code Behind中,现在你可以像这样设置combobox1禁用。
MyUserControl.grid2.combobox1.IsEnabled = false;
MyUserControl.grid4.combobox1.IsEnabled = false;