更改 isreadonly 时 XAML 文本框边框消失?

2024-03-08

如何更改特定文本框的样式 - 在使其只读属性为 true 时显示边框?

我只想显示边框,所以现在我必须为此创建一个新样式?我尝试使用这种风格,但它不起作用:

<Style x:Key="ReadOnlyStyle" TargetType="TextBox">
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Background" Value="#FFFFFFFF"/>
        <Setter Property="Foreground" Value="#FF000000"/>
        <Setter Property="Padding" Value="2"/>
        <Setter Property="BorderBrush">
            <Setter.Value>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FFA3AEB9" Offset="0"/>
                    <GradientStop Color="#FF8399A9" Offset="0.375"/>
                    <GradientStop Color="#FF718597" Offset="0.375"/>
                    <GradientStop Color="#FF617584" Offset="1"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="TextBox">
                    <Grid x:Name="RootElement">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="MouseOverBorder" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)">
                                            <SplineColorKeyFrame KeyTime="0" Value="#FF99C1E2"/>
                                        </ColorAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="ReadOnly">
                                    <Storyboard>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="FocusStates">
                                <VisualState x:Name="Focused">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Unfocused">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="ValidationStates">
                                <VisualState x:Name="Valid"/>
                                <VisualState x:Name="InvalidUnfocused">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="InvalidFocused">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsOpen">
                                            <DiscreteObjectKeyFrame KeyTime="0">                                                  
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Border x:Name="Border" Opacity="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="1">
                            <Grid>
                                <Border x:Name="MouseOverBorder" BorderBrush="Transparent" BorderThickness="1">
                                    <ScrollViewer x:Name="ContentElement" BorderThickness="0" IsTabStop="False" Padding="{TemplateBinding Padding}"/>
                                </Border>
                            </Grid>
                        </Border>
                        <Border x:Name="DisabledVisualElement" IsHitTestVisible="False" Opacity="0" Background="#A5F7F7F7" BorderBrush="#A5F7F7F7" BorderThickness="{TemplateBinding BorderThickness}"/>
                        <Border x:Name="FocusVisualElement" Margin="1" IsHitTestVisible="False" Opacity="0" BorderBrush="#FF6DBDD1" BorderThickness="{TemplateBinding BorderThickness}"/>
                        <Border x:Name="ValidationErrorElement" Visibility="Collapsed" BorderBrush="#FFDB000C" BorderThickness="1" CornerRadius="1">
                            <ToolTipService.ToolTip>
                                <ToolTip x:Name="validationTooltip" DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}" Template="{StaticResource ValidationToolTipTemplate}" Placement="Right" PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}">
                                    <ToolTip.Triggers>
                                        <EventTrigger RoutedEvent="Canvas.Loaded">
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsHitTestVisible">
                                                        <DiscreteObjectKeyFrame KeyTime="0">                                                                
                                                        </DiscreteObjectKeyFrame>
                                                    </ObjectAnimationUsingKeyFrames>
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </EventTrigger>
                                    </ToolTip.Triggers>
                                </ToolTip>
                            </ToolTipService.ToolTip>
                            <Grid Height="12" HorizontalAlignment="Right" Margin="1,-4,-4,0" VerticalAlignment="Top" Width="12" Background="Transparent">
                                <Path Fill="#FFDC000C" Margin="1,3,0,0" Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z"/>
                                <Path Fill="#ffffff" Margin="1,3,0,0" Data="M 0,0 L2,0 L 8,6 L8,8"/>
                            </Grid>
                        </Border>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 isreadonly 时 XAML 文本框边框消失? 的相关文章

随机推荐

  • MySQL:检查某个值是否包含在范围区间内

    我想知道是否可以检查字符串值是否包含在列中 前提是该列包含开始值和结束值 例如 如果表的 NR 列包含以下行 400 50045 76 23 2512 14 19 21 我想找到其中包含值 421 的行 所以答案应该是第一行 这在mysql
  • 位置固定和-webkit-overflow-scrolling:触摸;

    我正在使用 css 技巧让网站感觉像 Cordova 中的应用程序 webkit overflow scrolling touch 然而 这打破了 消失 反弹 我的位置 固定元素 有什么想法吗 仅供参考 Safari 在 ios 8 上运行
  • PHP 全局命名空间别名

    这是场景 我正在将命名空间实现到我的项目中 我有自己的自定义桥接库 它调用 Zend 等其他库来完成繁重的工作 我在自定义桥库中使用完全限定的命名空间没有问题 但希望在控制器 模型和视图中保持代码尽可能简洁 这是我想使用的一些别名的示例 u
  • 使用flask-wtf queryselectfield进行更具体的SQL查询

    我想使用 Flask 和 WTF 创建一个登录表单 应用程序应从数据库表中读取所有用户的昵称并将其显示在 QuerySelectField 中 它确实有效 但我认为我可以以 更好的方式 做到这一点 我有一个这样的数据库表 id nickna
  • 带括号的成员函数地址错误

    我发现了一些有趣的事情 错误消息说明了一切 获取非静态成员函数的地址时不允许使用括号的原因是什么 我在 gcc 4 3 4 上编译它 include
  • Onclick 事件跟踪 Google Analytics Wordpress Visual Composer 插件

    我想添加以下代码以进行 GA 事件跟踪 onclick ga send event eventCategory Contact eventAction ContactRequest 关于此号召性用语 div class vc btn3 co
  • 从 WCF 服务返回 401

    如何从 WCF 服务返回 HTTP 401 如果您正在编程 REST 服务 可以通过以下方式完成 private IWebOperationContext context new WebOperationContextWrapper Web
  • 为什么 Java 中的 contains() 方法不能按预期工作?

    我正在编写一个创建 ArrayList 的方法S Comp包含数组中包含的所有元素allNodes 但不包含在 ArrayList 中solution 其元素全部包含在allNodes 当我打印时solution and allNodes
  • rbind 错误:“名称与以前的名称不匹配”

    作为更大问题的一部分 添加 makeUniqueIDs论证rbind SpatialPolygonsDataFrame对于多边形 ID 相同的情况 我遇到了来自 rbind 的奇怪消息 gt do call rbind xd small E
  • 正则表达式匹配包含n个或更多指定字符的文本

    我需要找到包含超过 10 个 的行 导入 CSV 时出错 因此需要手动更正 我使用的是 Notepad 所以我不需要编写 reqex 来匹配行 只需编写逗号即可 11 100 does not work 也匹配逗号 您需要排除那些具有否定字
  • Python unicode编码问题

    使用Python 2 7 5 所有数据库和表都是 我的代码看起来像这样 import MySQLdb as mdb import urllib2 import sys import logging logging basicConfig l
  • 基于 Trie 的地址簿和按姓名和联系电话进行高效搜索

    基于 trie 数据结构开发地址簿是一种已知的方法 它是一种高效的字符串数据结构 假设如果我们想为基于姓名 数字等的地址簿创建一个有效的搜索机制 那么有效的数据结构是什么 可以基于任何类型的搜索词 无论数据类型如何 实现内存高效和更快的搜索
  • 使用 Boto3 通过 Python 将图像上传到 Amazon S3 的最有效方法

    我正在实现 Boto3 将文件上传到 S3 一切正常 我正在做的过程如下 我从 FileReader Javascript 对象获取 base64 图像 然后我通过ajax将base64发送到服务器 解码base64图像并生成一个随机名称来
  • Android SensorManager 和 Google Fit 原始传感器数据之间的区别?

    对于我的应用程序 我需要读取用户的最新心率以发送每条消息 一个是 Android SensorManager 另一个是 Google Fit 的 Sensors 还有三星的健康应用程序 不要认为这个应用程序会给我需要的数据 因为我不需要过去
  • 如何在 HTML 页面中显示代码(特别是 C++)?

    如何使用 HTML 在网站中显示代码 基本上 我有一个 C 程序 我想在我的网站上分享它 并且我想在页面中显示它 除了使用 HTML 文本之外 还有什么办法可以在 HTML 中显示 C 代码吗 HTML 包括一个名为 code https
  • static_cast<> 和 C 风格转换有什么区别? [复制]

    这个问题在这里已经有答案了 有什么理由更喜欢static cast lt gt 超过 C 风格的铸造 它们相等吗 有什么速度差异吗 C 风格的转换由编译器检查 C 风格的转换不是这样 并且可能在运行时失败 另外 C 风格的转换很容易搜索 而
  • 使用 xpath 计算 XML 中的元素数量

    我使用这个优秀的论坛来教自己一些基本的 xpath 来查询 XML 文件 我这里有一个 XML 文件的示例 我正在尝试使用 Matlab 导入 XML 文件中 3 个对象的 X Y 坐标
  • 使用 jQuery 修改 :after 伪元素的 CSS [重复]

    这个问题在这里已经有答案了 我用 after伪元素在块 li 就我而言 想法是区分当前选择的li来自其他人 在这里摆弄 http jsfiddle net kbpg6 html如下 ul li class active style back
  • FormControl 是用来做什么的?为什么使用它?应该如何使用呢?

    有人可以用外行的术语向我解释 FormControl 提供什么功能 以及为什么 如何使用它 我在 React 中使用 Material UI 我看到的许多表单示例都使用 FormControl 但我很难理解它的作用 以及它对于我的项目是否有
  • 更改 isreadonly 时 XAML 文本框边框消失?

    如何更改特定文本框的样式 在使其只读属性为 true 时显示边框 我只想显示边框 所以现在我必须为此创建一个新样式 我尝试使用这种风格 但它不起作用