Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从wpf工具包将staticresource字典数据绑定到树映射_C#_Wpf_Data Binding_Treemap - Fatal编程技术网

C# 从wpf工具包将staticresource字典数据绑定到树映射

C# 从wpf工具包将staticresource字典数据绑定到树映射,c#,wpf,data-binding,treemap,C#,Wpf,Data Binding,Treemap,我正在尝试将一些图表绑定到字符串、int的字典,并且我正在使用视图模型模式 我已经将字典绑定到一个条形图,但是现在我想将它绑定到WPF工具包中的treemap控件。除了silverlight之外,它在网上的任何地方都没有真正的文档记录: 有人能帮我修复控件的正确绑定吗 <DataVisualization:TreeMap x:Name="treeMapControl"> <DataVisualization:TreeMa

我正在尝试将一些图表绑定到字符串、int的字典,并且我正在使用视图模型模式

我已经将字典绑定到一个条形图,但是现在我想将它绑定到WPF工具包中的treemap控件。除了silverlight之外,它在网上的任何地方都没有真正的文档记录:

有人能帮我修复控件的正确绑定吗

<DataVisualization:TreeMap x:Name="treeMapControl">

                            <DataVisualization:TreeMap.Interpolators>

                                <DataVisualization:SolidColorBrushInterpolator TargetName="itemBorder" TargetProperty="Background"

                                       DataRangeBinding="{Binding Source={StaticResource ShellVM},Path=CustodianEmailCount.Value}" From="Blue" To="Magenta" />

                                <DataVisualization:DoubleInterpolator TargetName="textBlk" TargetProperty="FontSize"

                                       DataRangeBinding="{Binding Source={StaticResource ShellVM},Path=CustodianEmailCount.Value}" From="8" To="15" />

                            </DataVisualization:TreeMap.Interpolators>



                            <DataVisualization:TreeMap.ItemDefinition>

                                <DataVisualization:TreeMapItemDefinition ItemsSource="{Binding Source={StaticResource ShellVM},Path=CustodianEmailCount.Key}" ValueBinding="{Binding Source={StaticResource ShellVM},Path=CustodianEmailCount.Value}" ChildItemPadding="1">

                                    <DataTemplate>

                                        <Border x:Name="itemBorder" BorderBrush="Black" BorderThickness="1" ToolTipService.ToolTip="{Binding ToolTip}">

                                            <TextBlock x:Name="textBlk"  Foreground="White" Text="{Binding Source={StaticResource ShellVM},Path=CustodianEmailCount.Key}" VerticalAlignment="Center" Margin="2,2,0,0"

                                   TextWrapping="Wrap" TextAlignment="Center"/>

                                        </Border>

                                    </DataTemplate>

                                </DataVisualization:TreeMapItemDefinition>

                            </DataVisualization:TreeMap.ItemDefinition>

                        </DataVisualization:TreeMap>

问题在于,您一直在对每个可能导致(取决于您的实现)的项调用“Binding Source={StaticResource ShellVM}”。无论如何,在实现MVVM时使用它并不是正确的方法。 正确的方法是设置父容器(如果您正在实现MVVM,甚至是完整视图)DataContext,这将导致其叶抑制VM:

DataContext={Binding Source={StaticResource ShellVM}
例如:

Text = {Binding CustodianEmailCount.Key}