--- lang: ja-jp breaks: true --- # `WinUI 3` `DataGridColumn` の表示内容をフォーマットする 2022-08-21  ## IValueConverter ```csharp= public sealed class SizeConverter : Microsoft.UI.Xaml.Data.IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { if (value == null) { return null; } if (value is int) { return GetIntStringWithComma(value as int?); } return value; } public object ConvertBack(object value, Type targetType, object parameter, string language) { if (value == null) { return null; } return value; } public static string GetIntStringWithComma(int? val) { if (!val.HasValue) { return ""; } if (val.Value >= 0) { return val.Value.ToString("#,0"); } return $"-{(val.Value * -1).ToString("#,0")}"; } } ``` :::warning `IValueConverter`は、`System.Windows.Data.IValueConverter`ではない、**`Microsoft.UI.Xaml.Data.IValueConverter`**。 ::: ## MainWindow.xaml ```xaml= ・・・ <controls:DataGrid ItemsSource="{x:Bind ViewModel.PackagesList, Mode=OneWay}" > <controls:DataGrid.Resources> <helpers:SizeConverter x:Key="SizeConverter" /> </controls:DataGrid.Resources> <controls:DataGrid.Columns> <controls:DataGridTextColumn Header="Size" Binding="{Binding Path=Size, Converter={StaticResource SizeConverter}}" Tag="Size" x:Name="DataGridColumn_Size" > </controls:DataGridTextColumn> </controls:DataGrid.Columns> </controls:DataGrid> ・・・ ``` ###### tags: `WinUI 3` `DataGridColumn` `IValueConverter` `フォーマット` `format`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up