gpt4 book ai didi

GridViewColumn 中的 WPF 文本格式设置

转载 作者:行者123 更新时间:2023-12-01 17:46:23 25 4
gpt4 key购买 nike

我想对 GridViewColumn 中的列应用格式(对齐文本、货币格式 0000.00)。

 <GridViewColumn TextBlock.TextAlignment="Center" Width="80" DisplayMemberBinding="{Binding XPath=Name}"/>

这个想法如下:在列(GridViewColumn)中,我们可以对其应用某种格式的文本(左对齐、右对齐、居中对齐、对齐等)。

在下面的代码中,他们可以看到不同的尝试,但没有获得任何结果

代码如下:

 <Window x:Class="ListViewTest.Test0.ListViewTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Empty ListView Grid" Height="216" Width="435" FlowDirection="LeftToRight" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.IsSharedSizeScope="False">
<Window.Resources>
<XmlDataProvider x:Key="CustomersDS" Source="C:\data.xml"/>
<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</Window.Resources>



<ListView Margin="0,0,0,50" ItemTemplate="{DynamicResource CustomerTemplate}" ItemsSource="{Binding Source={StaticResource CustomersDS}, XPath=/Customers/Customer}">
<ListView.View>
<!--ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}"-->
<GridView >
<GridViewColumn Width="80" TextBlock.TextAlignment="Center">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock HorizontalAlignment="Center" Text="{Binding XPath=Code}"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn TextBlock.TextAlignment="Center" Width="80" DisplayMemberBinding="{Binding XPath=Name}"/>
<GridViewColumn Width="120" TextBlock.TextAlignment="center" DisplayMemberBinding="{Binding XPath=Country}"/>
<GridViewColumn Width="120" TextBlock.TextAlignment="center" DisplayMemberBinding="{Binding XPath=money}"/>
</GridView>
</ListView.View>
</ListView>


</Window>

XML

     <Customers>
<Customer>
<Code>1234</Code>
<Name>EPI</Name>
<Country>Sesame Street</Country>
<money> 98.00</money>
</Customer>
<Customer>
<Code>3234</Code>
<Name>Paul</Name>
<Country>United Kingdom</Country>
<money> 8.70</money>
</Customer>
<Customer>
<Code>3344</Code>
<Name>Juan</Name>
<Country>Spain</Country>
<money> 785.5</money>
</Customer>
<Customer>
<Code>4321</Code>
<Name>Dodo</Name>
<Country>Venezuela</Country>
<money> 150.02</money>
</Customer>
</Customers>

最佳答案

以下是我执行类似操作的方法(格式化并对齐货币列):

<GridViewColumn Header="Amount">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Right"
Text="{Binding Path=Amount, StringFormat='{}{0:C}'}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>

我还添加了这种样式:

<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>

如果您不使用 .NET 3.5 SP1,则需要使用转换器而不是 StringFormat。

关于GridViewColumn 中的 WPF 文本格式设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/656296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com