値がない場合にdoubl.NaNで挿入されるデータテーブルがあります。私がやりたいのは、doubleが表示されたときです。代わりに「-」を付けたいので、次のコードのコンバーターがあります。
if (value.ToString() == double.NaN.ToString())
{
return "-";
}
すべてが「en-us」カルチャで完全に機能しましたが、「zn-cn」などの異なるカルチャを使用すると、「double.NaN.ToString()」の結果が中国語の単語であるため、機能しません。 .ToString()は通常の「NaN」です。
コンバーターを使用してdouble.parse()を使用してみましたが、何も機能しませんでした。
更新-わかりました。問題は、コンバーターがオブジェクトを文字列として取得し、これがXamlの2倍ではないことです。
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border Background="Transparent" Padding="10 8" BorderBrush="Transparent" BorderThickness="1">
<Border.Resources>
<Style TargetType="ToolTip">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="HasDropShadow" Value="False"/>
<Setter Property="VerticalOffset" Value="-46"/>
<Setter Property="HorizontalOffset" Value="10"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToolTip">
<General:TextTooltip TitleStyle="{StaticResource NumericTableToolTipTitleStyle}" Content="{TemplateBinding Content}" ContentStringFormat="G" ContentStyle="{StaticResource NumericTableToolTipContentStyle}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Border.Resources>
<TextBlock x:Name="tbCellText" Text="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Content.Text, Converter={StaticResource NumericTableCellContentConverter}, ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}}"
ToolTip="{Binding ElementName=tbCellText, Path=Text}"
TextWrapping="Wrap"/>
</Border>
</ControlTemplate>
オブジェクトのタイプを保持する方法はありますか?
「NaN」と比較するだけでいいのですが、もっと一般的な解決策が欲しいです。