c# - 调整窗口大小时,WPF 使拉伸的 TextBlock 收缩
问题描述
我有一个显示文件详细信息的列表。我设计了 ItemTemplate 以在调整窗口大小时拉伸 DirectoryName TextBox。
<ListView ItemsSource="{Binding LogFolderContent}" SelectedItem="{Binding SelectedLogFile}" HorizontalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<DockPanel>
<TextBlock Text="{Binding LastWriteTime" DockPanel.Dock="Right"/>
<TextBlock Text="{Binding Name}" DockPanel.Dock="Left"/>
<TextBlock Text="{Binding DirectoryName}" DockPanel.Dock="Left" Margin="10,0,10,0"/>
</DockPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
不幸的是,当 DirectoryName 很长或调整窗口大小时,LastWriteTime 将从视图中消失。
我非常希望始终显示 LastWriteTime 并且为此我希望缩小 TextBlock 以不以不涉及任何侧边栏的方式显示 DirectoryName 的左侧部分。
可能吗?
解决方案
这应该这样做:
<ListView ItemsSource="{Binding LogFolderContent}" SelectedItem="{Binding SelectedLogFile}" HorizontalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}" />
<TextBlock Grid.Column="1" Text="{Binding DirectoryName}"/>
<TextBlock Grid.Column="2" Text="{Binding LastWriteTime}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
推荐阅读
- javascript - 如何使用 reactjs 上传图片
- angular - 添加元标记在 Angular 6 中不起作用
- c# - 如何禁止对过时属性的所有用法发出警告?
- javascript - 引导可折叠选项禁用
- javascript - 根据元素中的索引值动态添加属性到html元素
- python - Python IDLE 重启
- java - android studio中启动画面后的白屏
- c# - C#字典包含列表作为值,当列表更改时,字典更改
- hive - 从 Athena 中的 json_array 中提取值
- c# - SceneManager.LoadScene(index) 在异步方法中调用时不起作用。unity3d