我有这个代码:
CustomUserControl.xaml.cs
namespace MyProject
{
public partial class CustomUserControl<T> : UserControl
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
而这个xaml:
CustomUserControl.xaml
<UserControl x:Class="MyProject.CustomUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为x:Class ="MyProject.CustomUserControl"与代码隐藏的泛型类定义不匹配.有没有办法使这项工作?
我正在使用WPF网格作为窗口的布局.它有两列和任意数量的行.第一列专门用于标签,第二列用于用户输入字段(例如TextBox,ComboBox等).我的要求是:
我试过下面的XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="50" MaxWidth="180" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="First Name" TextTrimming="CharacterEllipsis" />
<TextBox Grid.Column="1" Text="{Binding FirstName}" />
<TextBlock Grid.Row="1" Text="Family Name" TextTrimming="CharacterEllipsis" />
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding FamilyName}" />
<TextBlock Grid.Row="2" Text="Label That Won't Fit in 180 units" TextTrimming="CharacterEllipsis" />
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding Text}" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
我希望第三行标签"不符合180个单位的标签"将被截断为"标签赢得......"之类的东西.相反,它被剪切到"标签不会",一半的"t"丢失.
我尝试了一种在网络上找到的不同方法.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="LabelColumn" Width="Auto" MinWidth="50" MaxWidth="180" />
<ColumnDefinition Width="*" /> …Run Code Online (Sandbox Code Playgroud)