小编pum*_*wan的帖子

是否可以在XAML中的TemplateBinding上使用转换器?

我正在构建一个按钮样式,它依赖于将颜色画笔转换为较暗的阴影来创建阴影.在常规的XAML中,我有一个转换器,而不是我在绑定上使用的转换器完美地工作:

BorderBrush="{Binding Background, Converter={StaticResource ColourBrushToDarker}}"
Run Code Online (Sandbox Code Playgroud)

但我不能让转换器在样式定义中使用TemplateBinding.有办法吗?Visual Studio只允许在TemplateBinding上使用转换器.

我试过以下没有运气:

Background="{Binding Converter={StaticResource ColourBrushToDarker}, ConverterParameter={Binding Path=Background}}"/>
Run Code Online (Sandbox Code Playgroud)

(我已尝试使用TemplateBinding替换Binding以及其他几个迭代的上述行)

可以这样做吗?我想到的另一件事是用C#编写一个执行转换的属性,但是一个样式没有代码隐藏文件.

我之后的结果是能够创建一个比Background属性更暗的新画笔,因此按钮的阴影总是比它的主背景颜色稍暗.

xaml binding styles converter templatebinding

15
推荐指数
1
解决办法
4047
查看次数

如何在 XAML 中使用其他项目的图像?

我正在构建一个包含多个项目的解决方案(Windows Phone 应用程序);其中一个项目是用于“品牌”的 - 它包含一些特定的代码和图像,其想法是该项目可以更换为不同的品牌。

我的应用程序页面位于主项目中,我想在主应用程序的 UI 中显示存储在第二个项目中的图像。

我的项目编译并具有正确的依赖项等。但我的图像未显示在 UI 中。我不确定我应该如何引用它们。

这就是当图像存储在主项目中时在 XAML 中对图像进行编码的方式 - 这非常有效:

<Image Source="/MainProject;component/ThisTeam/Trophy.png"/>
Run Code Online (Sandbox Code Playgroud)

但是,我想将图像存储在辅助项目中,但在主项目中使用它们,因此以下代码不起作用(XAML 来自 MainProject):

<Image Source="/SecondaryProject;component/Images/Soccer.png"/>
Run Code Online (Sandbox Code Playgroud)

图像上的构建类型设置为内容,但是我尝试过资源和其他设置。由于图像在存储在主项目中时可以工作,我认为问题并非如此。

我的主项目使用辅助项目中的代码,因此我对该项目的引用可以正常工作。

我这样做的方式不对吗?是否有可能实现我想要的目标?

xaml windows-phone-7 visual-studio-2012

5
推荐指数
1
解决办法
2681
查看次数