从元素主机更改元素

本文关键字:元素 主机 | 更新日期: 2023-09-27 18:04:33

我有一个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在两个winfrom中作为ElementHost:

在一个窗口中,我想隐藏一行,怎么做?

从元素主机更改元素

最后我是这样解决的:

我在ViewModel中创建了一个属性

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

当我在winfrom中使用wpf host control时,我将此变量初始化为false

我用converter将visibility列绑定到这个属性。