2017-11-15 7 views
0

私にはlistViewがあります。私が必要とするのは、このリストにラジオボタンのリストを表示することです。各Nameexercises(基本的にはデータベーステーブルのエントリの集合)である場合、内容がNameのラジオボタンが必要です。データセットへのラジオボタンコンテンツのバインド

private void GetChartData() 
{ 
    ExercicesList.ItemsSource = exercises.Select(n => n.Name).Distinct(); 
} 

これまでのところ、ラジオボタンは表示されますが、コンテンツは表示されません。

<ListView Name="ExercicesList" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="0 100 0 0"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
        <Grid> 
        <RadioButton Name="ExerciceCheck" GroupName="onlyOne" Content="{Binding Name, Mode=OneWay}" Grid.Column="0" IsChecked="False" Checked="ExerciceCheck_Checked"></RadioButton> 
        </Grid> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
</ListView> 
+0

まだ分かりませんが、コンテンツをpartensコンテキストにバインドすべきではありません。したがって、Bindingにはソースが必要です。あなたはこれを試してみてください:Content = "{x:バインド名、モード= OneWay}" – Jodn

答えて

1
ExercicesList.ItemsSource = exercises.Select(n => n.Name).Distinct(); 

このコードエキスのみNameIEnumerable<string>)、ないexerciseオブジェクト(IEnumerable<exercise>)。 RadioButton.Contentバインドは名前プロパティにアクセスし、stringにはエクストラ主体はありません。プロパティなしで要素自体にバインドを行うことができます:

これは動作しますが、ロジックの後半で他のプロパティにアクセスできなくなります。同じ効果のために、各グループから最初GropyBy &選択を使用し、LINQにはDistinctByがないので

ExercicesList.ItemsSource = exercises.GroupBy(n => n.Name).Select(g => g.First()); 

:そのまま代わりに

、単にリストを置くこの方法を書き、XAMLを残します。

+0

ありがとう、意図どおりに動作します! –

関連する問題