2012-04-05 90 views
0

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

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

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

下面是它在XAML中的外观。我想在后面的代码中这样做,以便打开和关闭“行为”。

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

回答

0

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

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

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

+0

我使用前者,它工作得很好。谢谢! – stuckintheshuck 2012-04-06 02:04:58

0

好了,你基本上实例必要的依赖对象,并使用适当的方法将其添加到控制。例如,要TextBlock的添加到StackPanel的,你写这样的:

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

如果你想某些行为添加到一个图表,你应该只是让你的图表对象的代码并寻找财产像行为或什么的。然后您可以指定行为(如果它是一个行为只),或添加它,就象到的StackPanel:

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

很难说出确切的语法不知道该组件。

+0

图表是第三方控件,类中没有用于添加DependencyObjects的机制。它只是一个自定义的DependencyObject。请参阅:http://msdn.microsoft.com/en-us/library/system.windows.dependencyobject(v=vs.95).aspx – stuckintheshuck 2012-04-05 21:07:35

相关问题