首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataTrigger错误

DataTrigger错误
EN

Stack Overflow用户
提问于 2012-05-18 00:03:13
回答 1查看 643关注 0票数 0

我正在与一些this posting的多trriggers的工作。绑定和错误如下所示。

我使用一个自定义标记扩展来显示资源图像,所以它可能是可疑的,但我不这么认为,因为我以前在样式中使用过它。

错误消息说我为该类型应用了错误的属性,但我还不知道原因。

干杯,

Berryl

触发器

代码语言:javascript
复制
<Style x:Key="AvatarPathImageStyle" TargetType="{x:Type Image}">
    <Setter Property="Source" Value="{Binding AvatarPath}"/>
    <Setter Property="Height" Value="96"/>
    <Setter Property="Width" Value="96"/>
    <Setter Property="Stretch" Value="UniformToFill"/>
    <Style.Triggers>

        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Binding="{Binding AvatarPath}" Value="{x:Null}" />
                <Condition Binding="{Binding Gender}" Value="{x:Static domain:Gender.Female}"/>
            </MultiDataTrigger.Conditions>
            <Setter Property="Source" Value="{resx:Resx ResxName=Smack.Parties.Presentation.Resources.PersonDetailView, Key=Img_Female}"/>
        </MultiDataTrigger>

        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Binding="{Binding AvatarPath}" Value="{x:Null}" />
                <Condition Binding="{Binding Gender}" Value="{x:Static domain:Gender.Male}"/>
            </MultiDataTrigger.Conditions>
            <Setter Property="Source" Value="{resx:Resx ResxName=Smack.Parties.Presentation.Resources.PersonDetailView, Key=Img_Male}"/>
        </MultiDataTrigger>
        </MultiDataTrigger>

    </Style.Triggers>
</Style>

绑定

代码语言:javascript
复制
<Image Grid.Column="1" Grid.Row="4" 
       HorizontalAlignment="Center" Margin="10, 0" Style="{StaticResource AvatarPathImageStyle}"
      />

错误

代码语言:javascript
复制
System.Windows.Markup.XamlParseException occurred
...  InnerException: System.ArgumentException
       Message='System.Windows.Controls.Image' is not a valid value for the 'System.Windows.Controls.Image.Source' property on a Setter.
 ...

更新

静态访问镜像也会得到一个Invalid Type错误:

代码语言:javascript
复制
<Setter Property="Source" Value="{x:Static imgResources:PersonDetailView.Img_Female}"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-18 15:08:10

已将评论转换为答案:

错误的原因是存储在resx文件中的图像是System.Windows.Drawing.Image类型的,这与WPF不直接兼容。您可以编写一个转换器,但除非您有充分的理由使用资源字典,否则我只会嵌入图像并通过相对于XAML文件的URL引用它们

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10639274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档