在wpf中禁用用户控件的组合框

时间:2014-07-16 16:14:39

标签: c# wpf xaml combobox user-controls

我有一个用户控件,其中包含两个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。

1 个答案:

答案 0 :(得分:1)

您可以在mainwindow中为usercontrol命名,然后可以访问usercontrol的任何元素,然后可以设置usercontrol的任何属性,如下所示。

  1. 请为您的主窗口中的用户控件命名。

    x:Name =“MyUserControl”

  2. 在Code Behind中,现在你可以像这样设置combobox1禁用。

    MyUserControl.grid2.combobox1.IsEnabled = false;

    MyUserControl.grid4.combobox1.IsEnabled = false;