Visual Studio 如何在设计预览中修复WPF XAML边框剪辑掩码?

wztqucjr  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(853)

*问题:

在使用Visual Studio将C#中的一些WPF项目更新到更高的目标框架(如.NET 4.7)后,我注意到无论在何处使用XAML代码中的Border.Clip,它都将“屏蔽”并隐藏设计预览中的所有内容。所有内容都可以很好地编译和运行,但在使用XAML代码时,很难看到代码更改的任何视觉反馈,因为剪辑“屏蔽”了以前在旧的.NET框架中的一切,我从来没有遇到过这个问题。有人能解释为什么会发生这种情况,以及可能的解决方案是什么吗?
下面是一个示例,显示了在添加Border.Clip时在xaml文件中看到的内容(同样,编译后的版本将显示真实的元素,它只在Visual Studio的预览中以这种方式显示)
Border.Clip
`

<Border.Clip>
            <RectangleGeometry RadiusX="10" RadiusY="10">
                <RectangleGeometry.Rect>
                   ...Some binding for dimensions.
                </RectangleGeometry.Rect>
            </RectangleGeometry>
        </Border.Clip>

'省略此代码,将在预览中显示所有UI元素。
同样,代码是正确的,并且在运行时完成了它的工作。尽管如此,我已经尝试了省略和超级具体的任何半径,形状,或尺寸的剪辑,这两个仍然“屏蔽”预览。
例如,只要添加这行代码,就可以屏蔽所有内容。
`

<Border.Clip>
        </Border.Clip>

`

t30tvxxf

t30tvxxf1#

你也看到了我没有你的问题。
我的测试环境是VS 2022 Community 17.4.1.Net Framework 4.8
也许您的使用有一点问题,请参考以下documents.

我的演示代码:

<Grid>
    <Canvas>
        <Image Source="Your path" Height="150" Canvas.Left="148" Canvas.Top="67">
            <Image.Clip>
                <RectangleGeometry Rect="100 75 50 50"/>
            </Image.Clip>
        </Image>
        <Border Background="Chocolate" BorderBrush="Black" BorderThickness="3" Width="300" Height="250" Canvas.Left="387" Canvas.Top="67">
            <Border.Clip>
                <RectangleGeometry Rect="100 75 50 50"/>
            </Border.Clip>
        </Border>
    </Canvas>
</Grid>

相关问题