[英]Multiple properties to Grid background like ImageSource and Brush
我有一个绑定属性MainImage的XAML代码:
<Grid>
<Grid.Background>
<ImageBrush ImageSource="{Binding MainImage}"/>
</Grid.Background>
</Grid>
MainImage是ImageSource属性。 但是,现在我想将网格的简单画笔背景设置为。 应用程序正在使用ImageSource,如果有图像,则应用程序必须设置简单的画笔颜色。 如果可能的话,从Brush到ImageSource的隐蔽存在问题。
我将使用OnLoaded事件并检查null并以这种方式进行更改。 除非要创建图像,然后将其绘制成某种颜色并将其作为图像源返回,否则除非您要创建该图像。 我认为除非您自己动手,否则不会有任何后备措施。
<Grid x:Name="my_grid" Loaded="my_grid_Loaded">
<Grid.Background>
<ImageBrush ImageSource="{Binding MainImage}"/>
</Grid.Background>
</Grid>
private void my_grid_Loaded(object sender, RoutedEventArgs e)
{
Grid g = sender as Grid;
System.Windows.Media.ImageBrush ib = g.Background as ImageBrush;
if (ib.ImageSource == null)
{
g.Background = new SolidColorBrush(Colors.MYCOLOR);
}
}
如果您的图像不是透明的,我将简单地创建不同的Grid甚至Rectangle,使其全屏显示并带有颜色。 如果有可用的图像,那么它将仅覆盖颜色并完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.