尝试隐藏复选框,直到选择菜单选项,但复选框不会隐藏



>我有一个复选框,只有在选择菜单选项时才会出现。如果未选择菜单选项,则应隐藏该复选框。我在代码中设置了一个可见性变量:

private Visibility _checkboxVisibility;
public Visibility CheckboxVisibility 
{ 
get 
{ 
return _checkboxVisibility; 
} 
set 
{ 
SetProperty(ref _checkboxVisibility, value);
OnPropertyChanged(nameof(CheckboxVisibility));
} 
}

当我初始化视图模型时,我确保将其设置为Hidden.它设置为Visible选择菜单选项时。

下面是 XAML 代码的代码片段:

<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="7*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0"
IsChecked="{Binding IsSelected, Mode=TwoWay}"
Visibility="{Binding CheckboxVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />

还有更多列,但这似乎是重要的一点。如果我将其设置为 straightHidden,复选框将被隐藏,所以我的绑定有问题,但我不确定是什么。我尝试将其绑定到布尔值并使用转换器,但这似乎也没有帮助。我尝试过在线寻找答案,但无论我走到哪里,我都会将另一个项目绑定到复选框中。任何帮助将不胜感激。

好吧,我找到了答案,事实证明我没有给任何人足够的澄清来帮助我。CheckboxVisibility属性不在列表视图的ItemSource绑定上。它试图像它一样绑定它。我不得不使用这样的RelativeSource属性:

Visibility="{Binding DataContext.MassImportModeVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"

我将在未来尝试提供足够的信息。

最新更新