我遇到了一个非常奇怪的问题。这是我的观点:
<Grid>
<Border x:Name="C01" VerticalAlignment="Center" Panel.ZIndex="2" HorizontalAlignment="Center" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
这是我想在视图中显示的用户控件:
<UserControl x:Class="Nwp.UserComponents.ULogin"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
Width="350" Height="220">
<Grid>
<Border Margin="10" BorderBrush="DimGray" BorderThickness="1" Background="White">
<Border.Effect>
<DropShadowEffect ShadowDepth="0" BlurRadius="10"/>
</Border.Effect>
<Grid>
<!-- ... here's content -->
</Grid>
</Border>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
为了显示用户控件,我将其添加为边框“C01”的子控件,如下所示:
C01.Child = new ULogin();
Run Code Online (Sandbox Code Playgroud)
到目前为止一切正常,看起来像这样:

请注意,用户控件的宽度和高度是 2 个偶数:350 和 220。如果将其中一个更改为奇数,则用户控件显示会有点模糊:

当我再次使用偶数时:330x200,没有模糊:

使用奇数 330x201,再次模糊:

有谁知道如何解决这个问题?
我有一个想要返回值的方法。该声明对我来说很清楚。但是如何在方法实现中分配要返回的值呢?
我只能想到创建一个输出变量并使用它来将值传播给调用者。但这绝对不是我期望返回值的工作方式:
METHOD M_MyMethod : BOOL
VAR_OUT
bReturnVal : BOOL;
END_VAR
Run Code Online (Sandbox Code Playgroud)
// Do some method things here.
// Then assign the return value.
bReturnVal := bWhatever;
Run Code Online (Sandbox Code Playgroud)