WPF:在资源中找不到命名样式

发布于 2024-09-30 09:55:02 字数 2241 浏览 1 评论 0原文

下面的代码恰好适用于 TEST 项目。但在我的生产项目中它找不到资源,为什么呢?

Wpf 找不到此Style="{StaticResource bla}"

<TextBlock Height="23" HorizontalAlignment="Left" Margin="22,89,0,0"  Text="Keywords" VerticalAlignment="Top" />
        <TextBox Style="{StaticResource bla}" Height="23" HorizontalAlignment="Left" Margin="22,109,0,0"  VerticalAlignment="Top" Width="244">
            <Binding Path="Tags" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
                <Binding.ValidationRules>
                    <DataErrorValidationRule ValidatesOnTargetUpdated="False"  ValidationStep="UpdatedValue"  />
                </Binding.ValidationRules>
            </Binding>
        </TextBox>


<UserControl.Resources>

         <Style x:Name="bla" TargetType="TextBox">
            <Setter Property="BorderBrush"  Value="DarkBlue"/>
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Margin" Value="0,1,0,1" />
            <Setter Property="Validation.ErrorTemplate">
                <Setter.Value>
                    <ControlTemplate>
                        <StackPanel Orientation="Horizontal">                          
                            <AdornedElementPlaceholder />
                            <Grid Margin="2,0,0,0">
                                <Ellipse Width="20" Height="20" Fill="Red"/>
                                <TextBlock Foreground="White" Text="X" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            </Grid>
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="True">
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}" />
                </Trigger>
            </Style.Triggers>
        </Style>       

    </UserControl.Resources>

Exactly the below code works in a TEST project. But in my productive project It does not find the Resource, why this?

Wpf can not find this Style="{StaticResource bla}"

<TextBlock Height="23" HorizontalAlignment="Left" Margin="22,89,0,0"  Text="Keywords" VerticalAlignment="Top" />
        <TextBox Style="{StaticResource bla}" Height="23" HorizontalAlignment="Left" Margin="22,109,0,0"  VerticalAlignment="Top" Width="244">
            <Binding Path="Tags" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
                <Binding.ValidationRules>
                    <DataErrorValidationRule ValidatesOnTargetUpdated="False"  ValidationStep="UpdatedValue"  />
                </Binding.ValidationRules>
            </Binding>
        </TextBox>


<UserControl.Resources>

         <Style x:Name="bla" TargetType="TextBox">
            <Setter Property="BorderBrush"  Value="DarkBlue"/>
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Margin" Value="0,1,0,1" />
            <Setter Property="Validation.ErrorTemplate">
                <Setter.Value>
                    <ControlTemplate>
                        <StackPanel Orientation="Horizontal">                          
                            <AdornedElementPlaceholder />
                            <Grid Margin="2,0,0,0">
                                <Ellipse Width="20" Height="20" Fill="Red"/>
                                <TextBlock Foreground="White" Text="X" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            </Grid>
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="True">
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}" />
                </Trigger>
            </Style.Triggers>
        </Style>       

    </UserControl.Resources>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

本宫微胖 2024-10-07 09:55:02

在您的样式标签中,使用键而不是名称。您可以通过其密钥找到资源。
将此更改为

In your style tag instead of name used key. you can find a resource with its key.
change this to

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文