小编Bob*_*Bob的帖子

带有通用代码隐藏的WPF UserControl

我有这个代码:

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"与代码隐藏的泛型类定义不匹配.有没有办法使这项工作?

.net c# generics wpf xaml

13
推荐指数
3
解决办法
1万
查看次数

WPF TextBlock.TextTrimming不使用自动调整大小的ColumnDefinition

我正在使用WPF网格作为窗口的布局.它有两列和任意数量的行.第一列专门用于标签,第二列用于用户输入字段(例如TextBox,ComboBox等).我的要求是:

  1. 第一列的最小宽度必须为50,最大宽度必须为180.
  2. 第一列必须调整其内容的大小,除非它违反第一个要求.
  3. 第二列必须占用所有剩余空间.

我试过下面的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)

wpf grid xaml binding textblock

8
推荐指数
1
解决办法
6529
查看次数

标签 统计

wpf ×2

xaml ×2

.net ×1

binding ×1

c# ×1

generics ×1

grid ×1

textblock ×1