2017-05-23 17 views
0

私のUIはコンボボックスになっています。私のネットワーククラスでは、私はudpパケットを受信し、それらからIPアドレスを取るメソッドを持っています。どのデータ型をアドレスとして文字列(Vector、IVector?)として保存するか?そして、アドレスを持つこのオブジェクトをUIのコンボボックスにどのようにして接続すればよいのですか?各アドレスはコンボボックスに動的に表示されます。 私は、ネットワーククラスにはC++、UIにはxaml + C++を使用しています。混乱を避けるために、私は、Visual StudioからUWP-XAML-C++のテンプレートを使用しています2017年UWP - C++のコンボボックスにベクターをバインドする

答えて

0
私は文字列としてアドレス(ベクタ、IVector?)

はいを​​保存するために取るか、データ型

Vectorは、ComboBoxへのコレクションバインディングとして使用できます。 C++/CXコレクションの詳細については、this documentを参照してください。

そして、どのように私たちはdata bindingを使用する必要がある。このためにアドレス

を持って、このオブジェクトを、接続してください。例えば

、次のようにnetworkクラスはIpAddressプロパティが含まれてあるとしますMainPage.xaml.h

コード

public ref class MainPage sealed 
{ 
public: 
    MainPage(); 
private: 
    void btnbinding_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); 
}; 

public ref class network sealed 
{ 
public: 
    property Platform::String^ IpAddress; 
}; 

その後、我々はComboBoxnetworkコレクション(ベクトル)と結合することができます

XAMLコード

<ComboBox x:Name="combo" > 
    <DataTemplate> 
     <TextBlock Text="{Binding IpAddress}"></TextBlock> 
    </DataTemplate> 
</ComboBox> 

コード

void CombboxC::MainPage::btnbinding_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) 
{ 
    Platform::Collections::Vector<network^>^ items = ref new Platform::Collections::Vector<network^>(); 
    network^ onenet = ref new network(); 
    onenet->IpAddress = "Test"; 
    items->Append(onenet); 
    combo->ItemsSource = items; 
} 
+0

後ろにこれは私が意味するものはかなりものではありません、私はアドレスでベクトルを埋めるためのネットワーククラスでループを持っています。私はそれがコードの背後に埋められないようにしています。私の最大の問題は、main-UIクラスによって読み込まれるC++でグローバルベクトルを作成する方法です。私はjava/c#でそれを行う方法を知っていますが、私はC++でグローバルベクトルの作成に失敗しました。 – David

関連する問題