我正在创建CustomControl,并且编译器知道我的控件样式是在Generic.xaml
中定义的...如何更改它并指向别的东西?
答案 0 :(得分:0)
您可以使用Style Class。
在你的例子中,我认为你可以这样做。在App.xaml
中,您可以创建一个空样式
样式x:Key =“MyStyle”TargetType =“MyCustomControl”BasedOn =“{StaticResource Style1}”
其中Style1
是Generic.xaml中的样式。在运行时,您可以通过以下方式更改样式:
var style = Resources [“MyStyle”]作为Style;
style.BasedOn = Resources [“theOtherStyle”]为Style;
或类似的东西,我没有尝试过代码。
答案 1 :(得分:0)
Uri resourceLocater = new Uri("/AssemblyName;component/pathToXaml/name.xaml", System.UriKind.Relative);
ResourceDictionary resourceDictionary = (ResourceDictionary)Application.LoadComponent(resourceLocater);
Style = resourceDictionary["StyleKey"] as Style;