0

サンプル データのデータを C# のコードにバインドしたいと考えています。オンラインで入手できるさまざまなモデルを試しても、正確な出力が得られません。データ テーブルの 2 つの値の間で算術演算を実行したいと考えています。

私のxmlデータは次のようになります。

<SampleData:data xmlns:SampleData="clr-namespace:Expression.Blend.SampleData.data"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <SampleData:data.factors>
        <SampleData:cfsItem col1="item1" item1="1" item2="2" />
        <SampleData:cfsItem col2="item2" item2="3" item2="4" />
    </SampleData:data.factors>
</SampleData:data>

LINQ クエリで値を選択したい。つまり、データのテーブル 'factors' から col1 を選択し、リストボックス要素から返された値と比較します。

private void ListBox1_Tap(object sender, GestureEventArgs e)
{
    ListBoxItem selected = ListBox1.SelectedItem as ListBoxItem;
    string y = selected.Content as string;
    this.DataContext = from factors in data
                       where col1.factors == y
                       select item1;
}

誰でも私を助けてくれますか?ありがとうございました!

4

1 に答える 1

0

あなたのdataオブジェクトは単一のアイテムであり、実際に探しているようfactorsですdata.
あなたが示すものに基づいて、プロパティ と比較して のコンテンツfactorsに基づいてを選択するには、おそらく次のものが必要になるでしょう。 注: 2 番目のレコードの 1 番目は、本当に. その場合、以下が適用されます。 ListBox.SelectedItemcol1

item2item1

private void ListBox1_Tap(object sender, GestureEventArgs e)
{
    var selectedItem = (ListBoxItem)ListBox1.SelectedItem;
    if (selectedItem != null)
    {
        var y = (string)selectedItem.Content;
        var filteredFactors = (from factor in data.factors
                               where factor.col1 == y
                               select factor.Item1);
        //filteredFactors is IEnumerable
        this.DataContext = filteredFactors;
        // if you need the first only or nothing if there is none.
        this.DataContext = filteredFactors.FirstOrDefault();
        // if there can be nothing or only one
        this.DataContext = filteredFactors.SingleOrDefault();
    }
}

item1上記の例では、フィルタリングされたのみを選択しましたfactors
レコード全体を返したい場合.item1は、クエリで削除します。

var filteredFactors = (from factor in data.factors
                       where factor.col1 == y
                       select factor);



varおそらく、私がこのキーワードを複数回 使用していることに気付くでしょう。可読性が向上する場合は、それを使用するのが好きです。興味がある場合は、暗黙的に型指定されたローカル変数を参照してください。

于 2013-04-24T21:18:59.623 に答える