内湖底で項目を削除しますアイテムをグリッドビューから削除します(observableCollectionの背後にある)。私はそれに慣れていないので、MVVMアプローチを使用していない、私はデータとデータのテンプレートのバインディングのための通常のオブザーバブルコレクションを使用しています。UWP GridViewのは、私がUWPアプリ</strong>で<strong>GridViewのを持っていると私はそれが/削除<strong>に使用される特定のことを</strong>を削除することができるように<strong>のDataTemplate</strong>に各GridViewの項目に<strong>ボタン</strong>を入れているのDataTemplate
あなたが私にそれをする良い方法を提案できれば、myabeはMVVMを使って私にそれをする方法を提案してください。 事前のおかげで
コード:の後ろ
XAMLのグリッドビュー(赤いバックグラウンドを持つボタンは、私はアイテムを削除するには、使用したいボタンです)
<controls:AdaptiveGridView Name="HistoryGridView" StretchContentForSingleRow="False"
Style="{StaticResource MainGridView}"
ItemClick ="HistoryGridView_SelectionChanged"
ItemsSource="{x:Bind HistoryVideos, Mode=OneWay}">
<controls:AdaptiveGridView.ItemTemplate>
<DataTemplate x:DataType="data:Video">
<StackPanel Margin="4" >
<Grid>
<Button Background="Red"
HorizontalAlignment="Right" VerticalAlignment="Top"
Height="36" Canvas.ZIndex="1"
Style="{StaticResource TransparentButton}" Width="36">
<fa:FontAwesome Icon="Close" FontSize="20" HorizontalAlignment="Center" Foreground="White"
/>
</Button>
<Image Canvas.ZIndex="0" Source="{x:Bind Thumbnail}" Style="{StaticResource GridViewImage}"/>
<Border Style="{StaticResource TimeBorder}" Height="Auto" VerticalAlignment="Bottom"
Canvas.ZIndex="1"
HorizontalAlignment="Left">
<TextBlock Text="{x:Bind Duration}" Foreground="White" Height="Auto"/>
</Border>
</Grid>
<TextBlock Text="{x:Bind Name}" Style="{StaticResource GridViewVideoName}"/>
<TextBlock Text="{x:Bind ParentName}" Style="{StaticResource GridViewParentName}"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
<TextBlock Text="{x:Bind Views}" Style="{StaticResource GridViewViews}"/>
<TextBlock Text="Views" HorizontalAlignment="Right"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</controls:AdaptiveGridView.ItemTemplate>
</controls:AdaptiveGridView>
コード
public History()
{
this.InitializeComponent();
HistoryVideos = new ObservableCollection<Video>();
}
public ObservableCollection<Video> HistoryVideos { get; private set; }
私はonnavigatedを使ってコレクションを塗りつぶしていますが、それはうまく動作しますが、ここではそれが関係ないと思います。
私はInotifyproeprttyを使用している理由を尋ねることができます。 Observable Collectionには既にその機能が組み込まれていませんか? – touseef
@touseefはい、あなたが正しいです、私は答えを更新しました。'ObservableCollection'は、アイテムが追加、削除、またはリスト全体がリフレッシュされたときの通知を提供します。 –
thnkuとよく似ています。しかし、私は研究しているし、それはx:Bindと同様に実行することができると推測するより多くの演奏です。また、その場合、ICommandの実装は必要ありませんか?それは正しい?もしそうなら、同様にその実装を提案してください。 :) – touseef