知道资源树中某处定义style
(即可以在应用程序级别,HierarchicalDataTemplate
,窗口资源或层次结构中的某个位置定义HierarchicalDataTemplate
这个窗口上的控件),以编程方式,如何确定哪个<Window ... >
<Window.Resources>
<HierarchicalDataTemplate DataType="{x:Type Foo}"
ItemsSource="{Binding Children}">
<TextBlock Text={Binding Name}" />
</HierarchicalDataTemplate>
</Window.Resources>
<TreeView x:Name="MainTreeView" />
</Window>
将应用于特定数据类型相对于特定控件?
例如,在下面的例子中,假设我们有一个类型为Foo的对象,我们怎么能得到它的var hdt = (HierarchicalDataTemplate)MainTreeView.FindResource(typeof(Foo));
- 恰好在这里的窗口级定义 - 相对于MainTreeView ?
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
df= pd.DataFrame({'phrase': pd.Series('The large distance between cities. The small distance. The')})
f = CountVectorizer().build_tokenizer()(str(df['phrase']))
result = collections.Counter(f).most_common(1)
print result
我已尝试过以下操作,但它返回null:
beforeAll
答案 0 :(得分:1)
找到它。 DataTemplate
个对象不会像Style
个对象那样使用DataType作为默认密钥。相反,他们使用DataTemplateKey
对象,你得到如下......
var dataTemplateKey = new DataTemplateKey(dataItem.GetType());
var hdt = (HierarchicalDataTemplate)MainTreeView.TryFindResource(dataTemplateKey);
那很有效! :)