从元素主机更改元素

时间:2013-03-18 11:38:28

标签: c# wpf binding elementhost

我有DataGrid几行:

<DataGrid ItemsSource="{Binding mylist}" AutoGenerateColumns="False">
   <DataGrid.Columns>
        <DataGridTextColumn Width="*" Header="x" Binding="{Binding x,UpdateSourceTrigger=LostFocus}"></DataGridTextColumn>
        <DataGridTextColumn Width="*" Header="y" Binding="{Binding y,UpdateSourceTrigger=LostFocus}"></DataGridTextColumn>
   </DataGrid.Columns>
</DataGrid>

DataGrid作为ElementHost坐在两个winfrom中:

在一个窗口中我想隐藏一行,怎么办呢? (优先考虑XAML)。

1 个答案:

答案 0 :(得分:0)

最后我这样解决了:

我在ViewModel

中创建了一个属性
    private bool _isVisible=true;

    public bool IsVisible
    {
        get { return _isVisible; }
        set
        {
            _isVisible= value;
            NotifyPropertyChanged("IsVisible");
        }
    }

当我在wpf host control i 中使用winfrom时,将此变量设为false

我使用转换器将visibility列绑定到此属性。

就是这样。