2012-04-05 2 views
0

Я хочу добавить объект DependencyObject к элементу управления из кода позади. Я искал и искал в Интернете, как это сделать абсолютно без успеха. DependencyObject имеет DependencyProperty. Я также хочу установить это свойство из кода.Добавить DependencyObject для управления с помощью кода

Нанесение диаграмм: ChartBehaviors наследует непосредственно из DependencyObject. Это класс, который я написал сам. Элемент управления Chart - это сторонний элемент управления.

диаграмма: ChartBehaviors.FloatingTooltip - это DependencyProperty. Это тоже класс, который я написал сам.

Вот что это похоже на XAML. Я хочу сделать это в коде, чтобы я мог включить и выключить «поведение».

<charting:Chart> 
    <charting:ChartBehaviors.FloatingTooltip> 
     <charting:FloatingTooltipBehavior 
     TooltipTemplate="{StaticResource tooltipTemplate}" /> 
    </charting:ChartBehaviors.FloatingTooltip> 
</charting:Chart> 

ответ

0

Вы можете просто использовать метод SetValue для объекта (если вы дадите диаграмме идентификатор диаграммы1).

var behave = new FloatingTooltipBehavior(); 
chart1.SetValue(ChartBehaviors.FloatingTooltipProperty, behave); 

Другим решением было бы просто добавить свойство Enabled к вашему поведению, а затем установить его из кода позади.

+0

Я использовал первое, и он отлично работает. Благодаря! – stuckintheshuck

0

Ну, вы в основном создаете объект необходимой зависимости и используете соответствующий метод, чтобы добавить его в элемент управления. Например, чтобы добавить TextBlock в StackPanel, вы пишете так:

TextBlock txtMyText = new TextBlock(); 
stackPanel.Children.Add(txtMyText); 

Если Вы желаете добавить определенное поведение на графике, вы должны просто получить объект диаграммы в коде и найдите свойство как Поведение или что-то в этом роде. Тогда вы либо назначить поведение (если это один-поведение только) или добавить его как в StackPanel:

Chart myChart; 
myChart.Behavior = new FloatingTooltipBehavior(); 

Это трудно сказать точный синтаксис, не зная компонент.

+0

Chart - это сторонний элемент управления, и в этом классе нет такого механизма для добавления DependencyObjects. Это просто настраиваемый объект DependencyObject. См. Http://msdn.microsoft.com/en-us/library/system.windows.dependencyobject(v=vs.95).aspx – stuckintheshuck