2016-05-29 5 views
1

私は現在、ソースエンジンベースのゲーム用のランチャーを作成しています(LoLランチャーのようなものを想像しています)。WPF C# - DataGridに3つの文字列を追加します。

私はサーバーデータ(サーバー名、Currentplayers/Maxplayers、マップ名)を照会する作業中のSSQLibを持っています。これらの3つのデータをDataGridにリストしたいと思います。ですから、これらをDataGridにどのようにリストできますか?ここで

は私のコードです:

private void btnLoadDataGrid_Click(object sender, RoutedEventArgs e) 
     { 
      string ip = "192.168.1.73"; 
      int port = 27015; 

      IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(ip), port); 

      SSQL query = new SSQL(); 
      ServerInfo serverInformation = query.Server(endpoint); 

      string servername = serverInformation.Name.ToString(); 
      string mapname = serverInformation.Map.ToString(); 
      string servermaxplayer = serverInformation.MaxPlayers.ToString(); 
     } 
+2

あなたの質問は何ですか? –

+0

(私の過ち)編集されました! –

答えて

0

あなたがMVVMCを使用して、私はあなたがやろうものを正しく理解すると、あなたのコードは次のようになります。

ビュー:

<DataGrid x:Name="MyDataGrid" ItemsSource="{Binding Path=MyObservableCollection}" AutoGenerateColumns="False"> 
      <DataGrid.Columns> 
       <DataGridTextColumn Header="ServerName" Binding="{Binding servername}"/> 
       <DataGridTextColumn Header="MapName" Binding="{Binding mapname}"/> 
       <DataGridTextColumn Header="MaxPlayers" Binding="{Binding servermaxplayer}"/>    
      </DataGrid.Columns> 
</DataGrid> 

ViewModel:

private ObservableCollection<ServerModel> _myObservableCollection; 

     public ObservableCollection<ServerModel> MyObservableCollection 
     { 
      get { return _myObservableCollection; } 
      set 
      { 
       if (_myObservableCollection == value)         
        return; 
       _myObservableCollection = value;          
       OnPropertyChanged("MyObservableCollection");       
      } 
     } 

コントローラ:

private LauncherViewModel mViewModel;    

     public void Initialize()           
     { 
      var view = new Launcher(); 

      mViewModel = new LauncherViewModel 
      { 
       MyObservableCollection = new ObservableCollection<ServerModel>(), 
      }; 
      view.DataContext = mViewModel; 
      view.ShowDialog(); 

     } 

モデル: - >モデルを参照してください

public class ServerModel 

public string servername { get; set; } 
public string mapname { get; set; } 
public int servermaxplayer { get; set; } 

また、あなたはそれが数ではなく文字列であるため、intとしてservermaxplayerプロパティを定義する必要があります。 :)

+0

助けてくれてありがとう! –

+0

私の喜びでした:) – ccdreyer

関連する問題