2013-12-01 3 views
1

Я создаю CustomControl, и компилятор знает, что мой стиль для моего элемента управления определен в Generic.xaml ... как его изменить и указать на что-то еще?Как установить различные стили стилей для CustomControl?

+0

Вы имеете в виду во время выполнения или перед компиляцией? –

ответ

0

вы можете использовать Style Class. В вашем примере я думаю, что вы можете сделать это. В Вашем App.xaml вы создаете пустой стиль

Стиль х: Key = "MyStyle" TargetType = "MyCustomControl" BasedOn = "{StaticResource Style1}"

где Style1 это стиль в Generic.xaml , Во время выполнения вы можете изменить стиль таким образом:

var style = Resources ["MyStyle"] as Style;

style.BasedOn = Resources ["theOtherStyle"] as Style;

Или что-то в этом роде, я не пробовал код.

+0

У меня нет App.xaml, все у меня есть CustomControl.cs и Темы/Generic.xaml .. – jovanMeshkov

+0

Все программы WPF имеют app.xaml. Используете ли вы какую-либо конкретную структуру? в любом случае, вы можете сделать то же самое в любом файле xaml –

+0

Я разобрал его ... – jovanMeshkov

0
Uri resourceLocater = new Uri("/AssemblyName;component/pathToXaml/name.xaml", System.UriKind.Relative); 
ResourceDictionary resourceDictionary = (ResourceDictionary)Application.LoadComponent(resourceLocater); 
Style = resourceDictionary["StyleKey"] as Style; 
Смежные вопросы