Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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树视图中的枚举_C#_Wpf - Fatal编程技术网

C# 绑定图标取决于WPF树视图中的枚举

C# 绑定图标取决于WPF树视图中的枚举,c#,wpf,C#,Wpf,我在treeview文本框中有,我想转换我的枚举: <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" /> public enum AcceptationStatusGlobalFlag { NotReady = 0, Ready = 1, Accepte

我在treeview文本框中有,我想转换我的枚举:

<TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />

public enum AcceptationStatusGlobalFlag
    {
        NotReady = 0,
        Ready = 1,
        AcceptedByAdmin=2
    }
            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>

公共枚举接受状态GlobalFlag
{
NotReady=0,
就绪=1,
AcceptedByAdmin=2
}
到图标。将有3个图标,比如ready.jpg、notready.jpg和AcceptedByAdmin.jpg

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>
国家和地区具有池接受状态GlobalFlag,我想在这两个国家和地区上显示此枚举/图标

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>


最简单的解决方法是使用值转换器;因此,创建一个IValueConverter实现,将枚举转换为相应的图像

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>
有关更多信息,请参阅:

您应该使用值转换器绑定:

创建一个

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>
它接受您的枚举值并返回相应图标的文件名

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>
[ValueConversion(typeof(AcceptationStatusGlobalFlag), typeof(string))]
public class AcceptationStatusGlobalFlagToIconFilenameConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        switch ((AcceptationStatusGlobalFlag)value)
        {
            case AcceptationStatusGlobalFlag.Ready:
                return "ready.jpg";
            case AcceptationStatusGlobalFlag.NotReady:
                return "notready.jpg";
            case AcceptationStatusGlobalFlag.AcceptedByAdmin:
                return "AcceptedByAdmin.jpg";
            default:
                return null;
        }

        // or
        return Enum.GetName(typeof(AcceptationStatusGlobalFlag), value) + ".jpg";
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotSupportedException();
    }
}
您需要在XAML中添加对此转换器的引用

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>
<Window ... xmlns:converters="clr-namespace:App.Converters" ...>
    <Window.Resources>
        <converters:AcceptationStatusGlobalFlagToIconFilenameConverter x:Key="IconConverter"/>
    </Window.Resources>

替换文本块

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>
<TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />

与图像,并告诉它使用您的转换器

            <TreeView Name="structureTree" SelectedItemChanged="structureTree_SelectedItemChanged" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding}" Height="413" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="Auto" PreviewMouseRightButtonUp="structureTree_PreviewMouseRightButtonUp" FontFamily="Verdana" FontSize="12">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Country}" 
                              ItemsSource="{Binding Path=ListOfRegions}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" FG:"/>
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=AcceptationStatusGlobalFlag}" />
                <!--<Button Name="BTNAddRegion" Height="20" Content="+" Click="BTNAddRegion_Click"></Button>-->
            </StackPanel>
                    </HierarchicalDataTemplate>
                    <HierarchicalDataTemplate DataType="{x:Type ServiceMy:Region}" 
                              ItemsSource="{Binding Path=ListOfProvinces}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=Name}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" H:"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text="{Binding Path=NumberOfHotels}"/>
                <TextBlock TextAlignment="Justify" VerticalAlignment="Center" Text=" "/>
                <!--<Button Name="BTNAddProvince" Height="20" Content="+" Click="BTNAddProvince_Click"></Button>-->
            </StackPanel>


                    </DataTemplate>

                </TreeView.Resources>
            </TreeView>
        </GroupBox>

    </StackPanel>
</Grid>
<Image Source="{Binding AcceptationStatusGlobalFlag, Converter={StaticResource IconConverter}}"/>


如果图形是XAML资源中定义的可缩放形状,而不是文件中的位图,您应该怎么办?@Anthony您应该创建一个新问题。有关不带转换器的解决方案,请参阅: