下面是我用来创建车辆列表的XAML - 其中一辆车是“默认”车辆,如果默认设置设置为“true”,则旁边会显示一个星形图像”。这一切都很好,花花公子。
然而,对于浅色/深色主题,我想根据主题将图像的颜色从白色更改为黑色。但是我无法弄清楚如何做到这一点。我已经尝试以编程方式创建XAML资源并添加它,但这似乎不起作用。我也试过命名图像(正如你在下面的“iLPNS”中看到的那样,但是我无法在后面的代码中访问它,因为(我假设)它在列表框中包含项目之前并不存在。
有没有人有任何想法我怎么能这样做?
<controls:PivotItem Header="vehicles" Name="piLPNS">
<Grid>
<TextBlock Text="A list of the vehicles associated with your account are listed below. To make changes to your vehicle list using the buttons below or by tapping the desired vehicle." Margin="12,0,0,0" TextWrapping="Wrap" />
<ListBox Height="300" HorizontalAlignment="Left" Margin="0,135,0,0" Name="lbLPNList" VerticalAlignment="Top" Width="456" SelectionChanged="lbLPNList_SelectionChanged" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel Orientation="Horizontal" Height="60" Width="432" HorizontalAlignment="Center">
<StackPanel Orientation="Vertical" Height="60" Width="40" Margin="12,0,0,0">
<StackPanel Orientation="Horizontal" Height="45">
<Image Name="iLPNS" Source="/Parkmobile;component/Resources/Icons/Icon.Star.Resource.png" Margin="0,5,0,0" Visibility="{Binding Default, Converter={StaticResource VisibilityConverter}}" Height="36" Width="36" HorizontalAlignment="Right"/>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Height="60">
<StackPanel Orientation="Horizontal" Height="45">
<TextBlock Margin="10,0,0,0" FontSize="36" Text="{Binding ShortDisplay}" />
</StackPanel>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</controls:PivotItem>
答案 0 :(得分:0)
在模板中包含图像的两个版本,然后在每个版本上使用转换器,根据当前主题更改可见性。