属性更改的XAML WPF样式触发器

时间:2014-03-31 17:47:04

标签: .net wpf xaml

这是一个两部分问题。我正在尝试使用WPF样式触发器。

1)我有一个矩形,它应该根据imgIcon的图像来源改变颜色(图标只能有3个可能的结果,a)checkbox.png - >绿色矩形b)cancels.png - >红色矩形c)pending.png - >橙色矩形。我能够创建样式,但无法弄清楚如何引用图像的来源。

 <Rectangle x:Name="rectangle" Fill="#FFAF504B" Width="5" HorizontalAlignment="Left"></Rectangle>
 <Image x:Name="imgIcon" Source="Images/cancel.png" HorizontalAlignment="Left" Margin="10,0,0,0" Height="30"/>

2)我有一个名为bxCredit的小盒子。 Box里面有文字标签。当名为bxCreditPeriod的标签大于0(或不为空)时,它应该显示整个框(其他方面隐藏)。现在我知道这不能用触发器完成,但我想找出如何根据bxCreditPeriod的属性隐藏整个内容。可能吗?如果是这样的话?

    <Border x:Name="bxCredit" CornerRadius="5">
        <Border.Effect>
            <DropShadowEffect ShadowDepth="0" Opacity=".8"/>
        </Border.Effect>    
        <Grid VerticalAlignment="Center" Background="White" HorizontalAlignment="Right" Width="35" Height="30" Margin="0,0,10,0">
            <Rectangle Height="10" Fill="Gainsboro" VerticalAlignment="TOP"/>
            <Label Content="EXPORT" FontSize="7" FontWeight="Bold" Padding="0" HorizontalContentAlignment="Center"/>
            <Label x:Name="bxCreditPeriod" Content="var" FontSize="18" Padding="0" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" Height="23"/>
        </Grid>
    </Border>

这一定很简单,但我不知道从哪里开始! 感谢

1 个答案:

答案 0 :(得分:1)

尝试查看此示例project