我有一个需要根据条件显示的图像,是否是附件文件。问题是,我设置了设置条件值的触发器,但似乎条件不起作用且值始终设置为true。
C#
问题是。有没有办法让默认值为false?只要条件包含附件,我就会在import re
foo = 'asdfasdfzxc<test>afx<one>'
bar = re.split(r'[\<\>]',foo)[:-1]
bar.remove('afx')
bar
Out[89]:
['asdfasdfzxc', 'test', 'one']
循环数据上将其设置为true。
答案 0 :(得分:-1)
查看输出窗口并搜索: System.Windows.Data警告:40:BindingExpression路径错误
我认为AttachStat属性在图像的DataContext中不可用。
答案 1 :(得分:-1)
使用一个DataTrigger
并确保DataContext
的{{1}}具有公开Image
属性:
AttachStat
<Image x:Name="img" Width="30" Height="30" Source="Resources/Images/chat_file_attach.png">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding AttachStat}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
答案 2 :(得分:-1)
您可以使用BoolToVisibilityConverter将布尔值转换为Visibility值和从Visibility值转换。
在资源部分:
<BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter" />
图片:
<Image Width="30"
Height="30"
Source="Resources/Images/chat_file_attach.png"
Visibility="{Binding AttachStat,
Converter={StaticResource BoolToVisibilityConverter}}" />