C# 根据另一个xaml的值更改xaml中的图像
我有一个Views/Doc.xaml,其中包含:C# 根据另一个xaml的值更改xaml中的图像,c#,silverlight,xaml,C#,Silverlight,Xaml,我有一个Views/Doc.xaml,其中包含: <navigation:Page .... <data:DataGrid> <data:DataGridTemplateColumn Header="Actions" HeaderStyle="{StaticResource TextHeaderStyle}" > <data:DataGridTemplateColumn.CellTemplate> <DataTemplate>
<navigation:Page ....
<data:DataGrid>
<data:DataGridTemplateColumn Header="Actions" HeaderStyle="{StaticResource TextHeaderStyle}" >
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid x:Name="gridDocumentColumns">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<HyperlinkButton x:Name="hlEmail" Grid.Column="1" Tag="{Binding Index}" Click="hlEmail_Click" >
<ToolTipService.ToolTip>
<ToolTip Tag="ToolTipEmail" Opened="toolTip_ActionOpened" />
</ToolTipService.ToolTip>
<Image Source="../images/close.png" Stretch="None" />
</HyperlinkButton>
</Grid>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid>
..............
您可以定义转换器并向其传递标志值。
此转换器将根据您传递的值返回特定路径
请参考下面的转换器作为参考
public sealed class ImagetoPathConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (value == null)
{
return value = "ms-appx:///Assets/Images/bk/1.png";
}
else if (value.ToString() == "1")
{
return value = "ms-appx:///Assets/Images/bk/2.png";
}
else if (value.ToString() == "2")
{
return value = "ms-appx:///Assets/Images/bk/3.png";
}
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
在源中绑定转换器并传递条件值。但是源在一个文件中,条件在第二个文件中。如果您想在代码本身中使用标志,如何将值从File1传递到File2并更改File2中的图像使用静态变量。。或者在数据库中更新它,并在显示图像之前读取相同内容。。。。