c# - 拖动后如何根据这个控件的值自动设置UserControl的高度和宽度?
问题描述
我创建UserControl
并在工具箱中拥有它。当我将控件拖到主窗口上时,高度和宽度属性设置为 100,而不是控件的属性(例如 70x50)。我能改变它吗?
我的控制:
<local:Control x:Class="Controls.Sensor"
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"
xmlns:local="clr-namespace:Controls"
mc:Ignorable="d"
d:DesignHeight="70" d:DesignWidth="50"
x:Name="control">
<Grid >
<Ellipse Fill="Transparent" Opacity="0.5" Grid.Row="1">
<Ellipse.Triggers>
<EventTrigger RoutedEvent="Binding.TargetUpdated" >
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard Duration="0:0:1" RepeatBehavior="Forever">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="Fill.(SolidColorBrush.Color)">
<DiscreteColorKeyFrame KeyTime="0:0:0" Value="{Binding FirstColor, UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True}" />
<DiscreteColorKeyFrame KeyTime="0:0:0.5" Value="{Binding SecondColor, UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True}" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Ellipse.Triggers>
</Ellipse>
</Grid>
</local:Control>
并在拖动后:
<Controls:Sensor HorizontalAlignment="Left" Height="100" Margin="728,524,0,0" VerticalAlignment="Top" Width="100"/>
当我预期:
<Controls:Sensor HorizontalAlignment="Left" Height="70" Margin="728,524,0,0" VerticalAlignment="Top" Width="50"/>
解决方案
Visual Studio 中的这个非常烦人的错误已经在过去被报告过。Visual Studio 开发团队不打算修复它。
请参阅以下帖子:WPF UserControl 高度始终设置为 100。
推荐阅读
- google-cloud-firestore - 在 Android 的 Firebase Firestore 中创建一个复杂的查询
- javascript - Safari:TypeError:代理的“目标”应该是一个对象
- twilio - 使用消息服务通过 MMS 发送 Twilio
- javascript - 如何在 vue js 中更改 css 背景?
- reactjs - ReactJs 函数通过父函数,然后是函数组件的子函数
- json - Python:如何保存不带括号的 JSON 文件?
- javascript - 为什么一旦元素移动到网格元素中,我就不能选择它?
- ios - keyNotFound(CodingKeys(stringValue: "surahs", intValue: nil) 来自 URL 的 json
- r - 使用循环从日期时间序列中删除复杂模式
- google-maps - 使用航点(不停止)构建 Google 地图路线 URL