C# Xaml-绑定listviewitem源对象
我在虚拟机中使用了一个可观察集合。此集合绑定到ListView中的“我的视图”。在我的项目中,我尝试获取创建此项目的元素。将它添加到我的commandParameter中并执行该操作 这是我的虚拟机: TutorialWareListView的工作方式与ListView完全相同。我使用它只是在教程运行时指向元素C# Xaml-绑定listviewitem源对象,c#,xaml,listview,binding,windows-store-apps,C#,Xaml,Listview,Binding,Windows Store Apps,我在虚拟机中使用了一个可观察集合。此集合绑定到ListView中的“我的视图”。在我的项目中,我尝试获取创建此项目的元素。将它添加到我的commandParameter中并执行该操作 这是我的虚拟机: TutorialWareListView的工作方式与ListView完全相同。我使用它只是在教程运行时指向元素 这是一个Windows应用商店应用程序!!我不能做我们想做的所有事情。您应该将SelectionMode=None更改为Single或Multiply。 并对所选项目进行新的Observ
这是一个Windows应用商店应用程序!!我不能做我们想做的所有事情。您应该将SelectionMode=None更改为Single或Multiply。
并对所选项目进行新的ObservableCollection。您只绑定ItemsSource={Binding selectedquick}。Bind SelectedItems={…}是的,我只是不认为当你点击removeBtn时,项目会被选中。我会尽力告诉你的。非常感谢。不工作,用户必须首先选择项目。太多事情要做了。
public RelayCommand<SelectionCommandParameter> CmdRemoveFromQuiz { get; set; }
public ObservableCollection<Question> SelectedQuiz
{
get { return _selectedQuiz; }
set
{
_selectedQuiz = value;
RaisePropertyChanged("SelectedQuiz");
}
}
private void RemoveFromQuiz(SelectionCommandParameter selection)
{
if (selection.Parameter is Question)
{
ObservableCollection<Question> tempQuiz = SelectedQuiz;
Question _question = (Question)selection.Parameter;
tempQuiz.Remove(_question);
SelectedQuiz = tempQuiz;
}
}
<userControls:CharmFlyout
x:Name="cfoQuizList"
x:Uid="QuizListCreatingPageFlyout"
Heading="Question Multiple"
HorizontalAlignment="Left"
Grid.Column="0"
Grid.RowSpan="2"
Style="{StaticResource stlAddRecipientFlyout}">
<tut:TutorialAwareListView x:Name="gvQuizItem"
ItemsSource="{Binding SelectedQuiz}"
IsItemClickEnabled="True"
CanReorderItems="True"
SelectionMode="None"
ManipulationMode="TranslateRailsX">
<ListView.ItemTemplate>
<DataTemplate x:Name="DTQuizItem">
<Grid HorizontalAlignment="Left" Width="{StaticResource RectangleTileWidth}" Height="{StaticResource RectangleTileHeight}"
Margin="0 0 0 0" Background="{StaticResource OrangeBackgroundThemeBrush}">
<Grid Grid.Column="1">
<Button x:Name="RemoveBtn" Content="X" HorizontalAlignment="Right" VerticalAlignment="Top" Width="40" Height="40"
BorderThickness="0" Command="{Binding DataContext.CmdRemoveFromQuiz, ElementName=gvQuizItem}" CommandParameter="{Binding Question}"/>
<maxCtrls:MaxAutoScrollingContentPresenter VerticalAlignment="Center"
ScrollingDuration="{Binding Name, Converter={StaticResource TextToTimeToReadShortFormatConverter}}"
ScrollingBeginTime="0:0:2">
<TextBlock Text="{Binding Name}" FontWeight="SemiBold"
Foreground="{StaticResource WhiteBackground}"
Margin="20,5,10,5" VerticalAlignment="Center" TextWrapping="Wrap"/>
</maxCtrls:MaxAutoScrollingContentPresenter>
</Grid>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</tut:TutorialAwareListView>
</userControls:CharmFlyout>