添加DependencyObject以从代码隐藏控制

时间:2012-04-05 19:58:06

标签: silverlight

我想从后面的代码向控件添加DependencyObject。我在网上搜索和搜索了如何做到这一点绝对没有成功。 DependencyObject具有DependencyProperty。我还想从代码隐藏中设置这个属性。

图表:ChartBehaviors直接从DependencyObject继承。这是我自己写的一堂课。图表控件是第三方控件。

图表:ChartBehaviors.FloatingTooltip是DependencyProperty。这也是我自己写的课程。

这是XAML中的样子。我想在后面的代码中执行此操作,以便我可以打开和关闭“行为”。

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

2 个答案:

答案 0 :(得分:0)

好吧,您基本上实例化必要的依赖项对象并使用适当的方法将其添加到控件中。例如,要将TextBlock添加到StackPanel,您可以这样写:

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

如果您想要在图表中添加某些行为,您应该只在代码中获取图表对象并查找“行为”等属性。然后你要么指定一个行为(如果它只是一个行为),要么像将它添加到stackpanel:

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

在不知道组件的情况下很难说出确切的语法。

答案 1 :(得分:0)

您可以在对象上使用SetValue方法(假设您为图表指定了chart1的id)。

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

另一个解决方案是只为您的行为添加一个Enabled属性,然后从后面的代码中设置它。