2014-04-18 2 views
1
<s:FastLineRenderableSeries.PointMarker> 

    <s:SpritePointMarker PointMarkerTemplate="{StaticResource AnyWpfControlTemplateCanGoHere}"/> 

Настройка управления шаблона динамически в WPF

на основе выбора пользователя из многих вариантов, мне нужно установить этот шаблон во время выполнения. Этот шаблон уже был определен в общий словарь, который как этот

<ControlTemplate x:Key="RightTriangleAnnotations"> 
    <Polygon Points="0 0, 20 20,0 20" x:Name="poly" Fill="Green" Stroke="Red"></Polygon> 

Мой код-то вроде этого

var pointMarker = new SpritePointMarker(); 
    pointMarker.Template = **Here the template should go** 
    renderSeries.PointMarker = pointMarker; 

Любая идея, как я могу установить шаблон во время выполнения.

ответ

1

Базовый, это зависит от того, где определены ваши ресурсы. Вам просто нужно получить шаблон из словаря. Например, если ваш словарь определяется для приложения:

Application.Current.Resources["RightTriangleAnnotations"] as ControlTemplate 

Или вы можете использовать любой визуальный объект, например SpritePointMarker :: Ресурсы если словарь непосредственно присоединенными к нему в XAML. Пожалуйста, обратитесь к этому вопросу для подробного решения: How can I access ResourceDictionary in wpf from C# code?

ИЛИ, если вы не указали свой словарь в любом файле XAML, сначала необходимо загрузить словарь, а затем назначить его визуальному объекту, чтобы получить желаемый ресурс ключ. Для получения более подробной информации посетите этот вопрос: Access ResourceDictionary items programmatically

Смежные вопросы