zak*_*zak 0 .net c# wpf properties isenabled
我希望在我的属性为空时禁用我的网格,并在非空时启用.
在我的.XAML中:
<Grid Grid.Row="2" IsEnabled="{Binding ElementName=dgCustomers, Path=SelectedItem}">
<my:ProductsHistoryDetailView />
</Grid>
Run Code Online (Sandbox Code Playgroud)
在我的ViewModel.cs中:
public ProductHistory SelectedItem
{
get { return _SelectedItem; }
set
{
if (_SelectedItem != value)
{
_SelectedItem = value;
RaisePropertyChanged(() => SelectedItem);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您应该为viewmodel添加一个额外的属性.
public bool IsGridEnabled
{
get
{
return this.SelectedItem != null;
}
}
<Grid Grid.Row="2" IsEnabled="{Binding IsGridEnabled}">
<my:ProductsHistoryDetailView />
</Grid>
Run Code Online (Sandbox Code Playgroud)
当您进行SelectedItem更改时,请调用OnPropertyChanged事件IsGridEnabled:
public ProductHistory SelectedItem
{
get { return _SelectedItem; }
set
{
if (_SelectedItem != value)
{
_SelectedItem = value;
RaisePropertyChanged(() => SelectedItem);
RaisePropertyChanged(() => IsGridEnabled);
}
}
}
Run Code Online (Sandbox Code Playgroud)