在 App.xaml 样式 WPF 中访问用户控件属性

图沙尔·古普塔

我正在尝试通过我的模型中的属性在我的可视画笔(在 App.xaml 中定义)中设置 Path 的“Stroke”属性。我在用户控件的另一个控件模板中使用了这种样式。

用户控制资源中的样式:

<Ellipse x:Name="slideThumb" Height="25" Width="25" Stroke="{Binding ThumbColor, UpdateSourceTrigger=PropertyChanged}">
                        <Ellipse.Style>
                            <Style TargetType="{x:Type Ellipse}">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding IsHatchBrush}" Value="true">
                                        <Setter Property="Fill" Value="{StaticResource HatchBrushVertical}" />
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding IsHatchBrush}" Value="false">
                                        <Setter Property="Fill" Value="{Binding ThumbColor, UpdateSourceTrigger=PropertyChanged}" />
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </Ellipse.Style>
                    </Ellipse>

在 App.xaml 中定义的 Brush:

<VisualBrush x:Key="HatchBrushVertical" TileMode="Tile" Viewport="0,0,2,3" ViewportUnits="Absolute" Viewbox="0,0,5,5" ViewboxUnits="Absolute">
        <VisualBrush.Transform>
            <RotateTransform Angle="45" />
        </VisualBrush.Transform>
        <VisualBrush.Visual>
            <Canvas>
                <Path Data="M 0 0 L 0 10" Stroke="{Binding Path=Stroke, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Ellipse}}}" StrokeThickness="5"/>
            </Canvas>
        </VisualBrush.Visual>
    </VisualBrush>

这里的问题是,我无法通过绑定在 app.xaml 中设置visal笔刷的 Stroke 属性。

需要帮忙。提前致谢

克莱门斯

您也许可以将 Brush 用作 OpacityMask。

首先,创建一个(更简单的)DrawingBrush 而不是 VisualBrush:

<DrawingBrush x:Key="HatchBrush" TileMode="Tile"
              Viewport="0,0,3,3" ViewportUnits="Absolute"
              Viewbox="0,0,2,2" ViewboxUnits="Absolute">
    <DrawingBrush.Drawing>
        <GeometryDrawing Geometry="M-1,2 L2,-1 M0,3 L3,0">
            <GeometryDrawing.Pen>
                <Pen Thickness="0.7" Brush="Black"/>
            </GeometryDrawing.Pen>
        </GeometryDrawing>
    </DrawingBrush.Drawing>
</DrawingBrush>

然后像这样写一个DataTrigger:

<DataTrigger Binding="{Binding IsHatchBrush}" Value="True">
    <Setter Property="OpacityMask" Value="{StaticResource HatchBrush}" />
</DataTrigger>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

App.xaml中基于ResourceDictionary的WPF样式

来自分类Dev

从WPF XAML中的继承样式更改控件的属性

来自分类Dev

WPF ToggleButton XAML样式

来自分类Dev

如何从XAML设置WPF用户控件属性?

来自分类Dev

提取相同的属性以在WPF XAML中进行样式设置

来自分类Dev

WPF XAML DataGridTemplateColumn中的标签无效的选择样式

来自分类Dev

在WPF中对XAML元素进行组样式设置

来自分类Dev

是否有任何工具可以为 wpf (xaml) 中的复杂控件创建实时样式

来自分类Dev

设置WPF用户控件的样式

来自分类Dev

来自XAML中不同属性的WPF DataGrid单元格样式

来自分类Dev

来自XAML中不同属性的WPF DataGrid单元格样式

来自分类Dev

WPF XAML样式复选框模板

来自分类Dev

访问控件不是XAML用户控件中的属性

来自分类Dev

WPF-XAML-从父样式调用嵌套样式的动画

来自分类Dev

我可以通过绑定到wpf父控件上的属性的依赖项属性在xaml中设置用户控件datacontext吗?

来自分类Dev

如何在XAML WPF中访问自定义控件的属性

来自分类Dev

WPF控件库样式

来自分类Dev

WPF XAML-向目标行定义的资源字典中添加多种样式

来自分类Dev

WPF窗口/用户控件继承XAML

来自分类Dev

在WPF用户控件库中指定样式

来自分类Dev

在XAML中设置全局样式

来自分类Dev

在WPF中重构XAML

来自分类Dev

WPF中的共享样式

来自分类Dev

wpf中的多种样式

来自分类Dev

从其他页面访问App.xaml中的控件

来自分类Dev

在XAML中创建的WPF控件的设置代码

来自分类Dev

WPF / XAML事件处理程序与视图模型的样式绑定

来自分类Dev

C# WPF 以 XAML 样式指定文件夹

来自分类Dev

如何在 App.xaml Xamarin Forms for CustomButton 中定义样式?

Related 相关文章

热门标签

归档