c# - 从元素获取触发器
问题描述
所以我有这个问题。我想数据触发 WPF 中网格的列可见性,但我无法将视图中的属性名称与 ViewModel 中的实际属性绑定。
视图如下所示:
<Page x:Class="ImageViewer.Pages.ImageViewPage">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="SidePanelColumn">
<ColumnDefinition.Style>
<Style TargetType="ColumnDefinition">
<Setter Property="Width" Value="250"/>
<Setter Property="MinWidth" Value="250"/>
<Style.Triggers>
<DataTrigger Binding="{Binding}" x:Name="SidePanelColumnVisibility" Value="True">
<Setter Property="Width" Value="0"/>
<Setter Property="MinWidth" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ColumnDefinition.Style>
</ColumnDefinition>
绑定是这样完成的(对于其他属性):
this.OneWayBind(ViewModel, vm => vm.AppCursor, v => v.Cursor).DisposeWith(cleanup);
在这里,我们将 ViewModel 中的属性名称 AppCursor 与 View 中的属性 Cursor 绑定。
我想对SidePanelColumnVisibility
. 我的问题是我似乎无法从视图访问 SidePanelColumnVisibility。
投标应该看起来像
this.OneWayBind(ViewModel, vm => vm.SidebarVisible, v => v.SidePanelColumnVisibility).DisposeWith(cleanup);
this.SidePanelColumn.Style.Triggers
检查此元素时,我可以看到我的触发器,但找不到通过其名称 SidePanelColumnVisibility 获取触发器的方法。
我对 WPF 相当陌生(已经做了一个星期)。我肯定在某个地方误解了某些东西,任何帮助都会很棒。
乐:
该列看起来像这样
<ListBox Grid.Column="0"
MinWidth="250"
x:Name="FrameListBox"
BorderThickness="0"
HorizontalContentAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Visible">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Image MinWidth="200" Height="Auto" Width="Auto" Source ="{Binding}" Stretch="Uniform"></Image>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
解决方案
推荐阅读
- python - 创建服务以规范化数据的最佳选择是什么
- python - 如何将 R 中的日期时间格式转换为时间序列预测模型读取?
- python - 为什么在pyglet上的window.clear()之后屏幕闪烁?
- regex - 在 awk 字段分隔符中使用受保护的通配符不起作用
- python - 我需要帮助在 mathoplib 中绘制 x 和 y,我想拆分以获取 xy 坐标,然后根据列绘制它们
- amazon-web-services - 如何在 Kubernetes 中使用 TCP 进行基于主机名的路由
- python - 将字符串列表映射到熊猫列?
- wordpress - Elementor - 在添加到购物车旁边动态添加“立即购买”按钮
- javascript - 如何根据选择的选项更改 HTML 属性
- python - 我想在我的代码中实现一个功能,该功能将从列表中随机选择键和值,以便稍后将它们分配给字典