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
Wpf 更改自定义网格的TextBlock_Wpf_Xaml_Treeview_Setter_Datatrigger - Fatal编程技术网

Wpf 更改自定义网格的TextBlock

Wpf 更改自定义网格的TextBlock,wpf,xaml,treeview,setter,datatrigger,Wpf,Xaml,Treeview,Setter,Datatrigger,我正在尝试更改自定义网格(TreeGrid)中包含的TextBlock的背景,但是此代码失败,出现XamlParseException “TextBlock”TargetTypes与元素“Grid”的类型不匹配 与在Grid.style节中定义样式不同,您必须将其声明为Grid.Resourcestyle,并指定TargetType,即 <Grid Grid.IsSharedSizeScope="True" Name="treeGrid" Grid.Column="1" Grid.Row=

我正在尝试更改自定义网格(TreeGrid)中包含的TextBlock的背景,但是此代码失败,出现XamlParseException

“TextBlock”TargetTypes与元素“Grid”的类型不匹配


与在
Grid.style
节中定义样式不同,您必须将其声明为
Grid.Resource
style
,并指定
TargetType
,即

<Grid Grid.IsSharedSizeScope="True" Name="treeGrid" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Grid.Resources>
        <local:LevelConverter x:Key="levelConverter" />
        <HierarchicalDataTemplate ItemsSource="{Binding Items}"
                              DataType="{x:Type local:DirectoryRecord}">
            <Grid ShowGridLines="False">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="rowHeaderColumn"/>
                    <ColumnDefinition></ColumnDefinition>
                    <ColumnDefinition SharedSizeGroup="column1"/>
                    <ColumnDefinition SharedSizeGroup="column2"/>
                    <ColumnDefinition SharedSizeGroup="column3"/>
                    <ColumnDefinition SharedSizeGroup="column4"/>
                    <ColumnDefinition SharedSizeGroup="column5"/>
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0"
                       Text="{Binding Name}"></TextBlock>
                <Rectangle Grid.Column="1">
                    <Rectangle.Width>
                        <MultiBinding Converter="{StaticResource levelConverter}">
                            <Binding Path="Level"></Binding>
                            <Binding ElementName="treeViewItemToMeasure" Path="ActualWidth"></Binding>
                        </MultiBinding>
                    </Rectangle.Width>
                </Rectangle>
                <TextBlock Grid.Column="2"
                       Text="{Binding LastAccessed}"></TextBlock>
                <TextBlock Grid.Column="3"
                       Text="{Binding Files.Count}"></TextBlock>
                <TextBlock Grid.Column="4" 
                       Text="{Binding Inherited}"></TextBlock>
                <Grid.Style>
                    <Style TargetType="{x:Type TextBlock}">
                        <Setter Property="Background" Value="Aquamarine" />
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Path=Inherited}" Value="True">
                                <Setter Property="Background" Value="Black" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </Grid.Style>
            </Grid>
        </HierarchicalDataTemplate>
    </Grid.Resources>
    <TreeView>
        <!-- My binding goes here -->
    </TreeView>
</Grid>

<Grid.Resources>
    <Style TargetType="{x:Type TextBlock}">
        <Setter Property="Background" Value="Aquamarine" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=Inherited}" Value="True">
                <Setter Property="Background" Value="Black" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Grid.Resources>