对于XAML中的样式我需要这样的东西:
<Application.Resources>
#if DEBUG
<Style TargetType="{x:Type ToolTip}">
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="FlowDirection" Value="LeftToRight"/>
</Style>
#else
<Style TargetType="{x:Type ToolTip}">
<Setter Property="FontFamily" Value="Tahoma"/>
<Setter Property="FlowDirection" Value="RightToLeft"/>
</Style>
#endif
</Application.Resources>
Run Code Online (Sandbox Code Playgroud) 我有一个名为"MySilverlightControls"的Silverlight控件组件.几个文件夹进入该程序集我有一个类,它从第三方供应商扩展一个网格列,我们称之为"MyImageColumn.cs".
我还创建了一个名为的资源字典Generic.xaml,它位于Themes程序集的文件夹中.在那个资源字典中,我定义了一个名为MyImageColumnTemplate的ControlTemplate :
<ControlTemplate x:Name="MyImageColumnTemplate" >
<Grid Margin="8,8,4,4" MaxHeight="32" MaxWidth="32">
<Grid.Resources>
<localGrid:StatusColumnImageConverter x:Key="ImageContentConverter"/>
</Grid.Resources>
<Border Margin="5,5,0,0" Background="Black" Opacity="0.15" CornerRadius="5" />
<Border Background="#FF6E6E6E" CornerRadius="4,4,4,4" Padding="4" Margin="0,0,5,5">
<Border Background="White" CornerRadius="2,2,2,2" Padding="3">
<Image Source="{Binding EditValue, Converter={StaticResource ImageContentConverter}}" Stretch="Uniform"/>
</Border>
</Border>
</Grid>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)
我的问题是:从MyImageColumn,我如何以编程方式引用/加载此控件模板,以便将其分配给列上的属性?我希望使用类似这样的语法:
ControlTemplate ct = (ControlTemplate)Application.Current.Resources["MyImageColumnTemplate"];
Run Code Online (Sandbox Code Playgroud)
但是这总是返回null.当我在Reflector中加载程序集时,我看到Generic.xaml文件在那里,资源的名称是MySilverlightControls.g.resources,并且其中的路径是themes/generic.xaml.
我怎样才能获得此资源字典中的各个项目?
silverlight resources resourcedictionary controltemplate silverlight-3.0
我有一个为不同客户定制的项目,仅在UI中.代码对所有人来说完全相同.
现在,我复制整个项目以获得客户的不同UI(主要是按钮对齐).是否可以只交换UI定义/指定在构建期间使用哪些,所以我不需要复制整个项目?
就像是:
UI_cust1
UI_cust2
UI_cust3
...
Run Code Online (Sandbox Code Playgroud)
用.构建
UI_cust2
Run Code Online (Sandbox Code Playgroud)