2016-07-19 11 views
-3

どのように自動WPF使用してデータグリッドにシリアル番号を生成するために `wpfを使用してデータグリッドでシリアル番号を自動生成しますか? ?

<DataGridTextColumn Header="Sl#" 
        x:Name="serialnumber" 
        Binding="{Binding Serial}"/> 
+1

こんにちは、歓迎、StackOverflowへ。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。 – lokusking

答えて

0

バウンド値を解析し、シリアル番号を返すために必要とされるものは何でもロジックを持つコンバータを作成します。次に、使用してバインド

namespace MyWPFAPP.Converters 
{ 
    public class ConvertToSerialNumber : IValueConverter 
    { 
     public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      return $"0000{value}"; 
     } 
     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      throw new NotImplementedException(); 
     } 
    } 
} 

をページのXAMLでコンバータ:

<Window 
xmlns:converters="clr-namespace:MyWPFAPP.Converters" 
...> 
<Window.Resources> 
    <converters:ConvertToSerialNumber x:Key="ToSerialNumber" /> 
</Window.Resources> 
... 
<DataGridTextColumn Header="Sl#" 
        x:Name="serialnumber" 
        Binding="{Binding Serial, Converter={StaticResource ToSerialNumber}}"/> 

表示されているシリアル番号は画面に表示され、値は変更されません。例ではserialnumberです。

率直に言って、次に、クラスハウジングserialnumberに、(おそらくクラスのpartial (Type) C#のパラダイム(?)を使用して)に延び、そのような値を生成するToSerialNumber性を提供する方が良いだろう。

+0

素晴らしい!どうもありがとう –