0

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

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

charting:ChartBehaviors.FloatingTooltip 是 DependencyProperty。这也是我自己写的一个类。

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

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

2 回答 2

0

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

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

如果您想将某些行为添加到图表中,您应该在代码中获取图表对象并查找诸如 Behaviors 之类的属性。然后你要么分配一个行为(如果它是一种行为而已),要么将它添加到堆栈面板中:

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

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

于 2012-04-05T20:09:46.670 回答
0

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

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

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

于 2012-04-05T23:08:04.730 回答