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 两个绑定;一个有效,另一个无效';T为什么?_Wpf - Fatal编程技术网

Wpf 两个绑定;一个有效,另一个无效';T为什么?

Wpf 两个绑定;一个有效,另一个无效';T为什么?,wpf,Wpf,为什么一个标签更新而另一个不更新?两者都绑定到同一属性。我假设dataTemplate中的绑定存在问题?使用Resharper,我被告知我的lblovelallint无法解析符号。我怎样才能解决这个问题 <Label Name="lbl1" Content="{Binding Path=lblOverallInt, UpdateSourceTrigger=PropertyChanged}"/> <Expander> <Expander.HeaderTemp

为什么一个标签更新而另一个不更新?两者都绑定到同一属性。我假设dataTemplate中的绑定存在问题?使用Resharper,我被告知我的
lblovelallint
无法解析符号。我怎样才能解决这个问题

<Label Name="lbl1" Content="{Binding Path=lblOverallInt, UpdateSourceTrigger=PropertyChanged}"/>

<Expander>
    <Expander.HeaderTemplate>
        <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <Label Name="lbl2" Content="{Binding Path=lblOverallInt, UpdateSourceTrigger=PropertyChanged}"/>
                </StackPanel>
        </DataTemplate>
    </Expander.HeaderTemplate>
</Expander>

更新

相关后续问题;我有下面的样式绑定,它在应用于标签而不是扩展器时也可以工作。是否有类似的流程将此连接为问题顶部的mm8解决方案

为此部分添加了单独的解决方案

<Expander.Style>
    <Style TargetType="{x:Type Expander}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=lblOverallInt}" Value="0">
                <Setter Property="Foreground" Value="Yellow"/>
            </DataTrigger>
            <DataTrigger Binding="{Binding Path=lblOverallInt, Converter={StaticResource isZeroConverter}}" Value="False">
                <Setter Property="Foreground" Value="Red"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Expander.Style>


标题模板的
数据上下文
是标题本身。试试这个:

<Expander>
    <Expander.HeaderTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Label Name="lbl2" Content="{Binding Path=DataContext.lblOverallInt,  RelativeSource={RelativeSource AncestorType=Expander}}"/>
            </StackPanel>
        </DataTemplate>
    </Expander.HeaderTemplate>
</Expander>

或者这个:

<Expander Header="{Binding Path=lblOverallInt}">
    <Expander.HeaderTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Label Name="lbl2" Content="{Binding}"/>
            </StackPanel>
        </DataTemplate>
    </Expander.HeaderTemplate>
</Expander>

对于我问题的第2部分,当样式绑定部分实际需要包含在数据模板中时,它仍然连接到扩展器

<Expander.HeaderTemplate>
    <DataTemplate>
        <Border Height="24">
            <StackPanel Orientation="Horizontal">
                <StackPanel.Style>
                    <Style TargetType="{x:Type StackPanel}">
                        <Style.Resources>
                            <Style TargetType="{x:Type Label}">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding}" Value="0">
                                        <Setter Property="Foreground" Value="Yellow"/>
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding Converter={StaticResource isZeroConverter}}" Value="False">
                                        <Setter Property="Foreground" Value="Red"/>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </Style.Resources>
                    </Style>
                </StackPanel.Style>
                <Label>Errors/Warnings:</Label>
                <Label Name="lbl2" Content="{Binding}"/>
            </StackPanel>
        </Border>
    </DataTemplate>
</Expander.HeaderTemplate>

错误/警告:

太棒了,这很管用。你能看看上面的更新吗?我还有一个样式绑定,我想知道如何也应用这个解决方案。