我的商店应用中有一个FlipView
控件,我的FlipViewItem
被绑定到一个ObservableCollection。
每个FlipViewItem
都是TextBox
。在运行时,我尝试这个时得到InvalidCastException
:
TextBox textbox = flipView.SelectedItem as TextBox;
为什么? FlipViewItem
是TextBox
,我将其投放到TextBox
。如果我不投,我无论如何都会得到一个例外。那是什么交易?如何从TextBox
中获得FlipViewItem
?
如果有帮助,这是我的XAML:
<FlipView x:Name="flipper"
ItemsSource="{Binding secret}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Background="{x:Null}"
BorderBrush="{x:Null}"
BorderThickness="0"
SelectionChanged="flipper_SelectionChanged"
Loaded="flipper_Loaded">
<FlipView.ItemTemplate>
<DataTemplate>
<TextBox x:Name="flipViewItemTextBox"
Text="{Binding Content, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"
IsSpellCheckEnabled="True"
IsDoubleTapEnabled="True"
IsColorFontEnabled="True"
IsRightTapEnabled="True"
IsTapEnabled="True"
IsTextPredictionEnabled="True"
Background="{x:Null}"
BorderBrush="{x:Null}"
BorderThickness="0"
TextWrapping="Wrap"
AcceptsReturn="True"
AllowDrop="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollMode="Auto"
TextChanged="flipViewItemTextBox_TextChanged"
/>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
答案 0 :(得分:0)
Normaly,您的SelectedItem是ItemSource中的项目。在您的情况下,它应该是secret
项。
没有尝试使用flipview,但我会谈论datagrid和其他像datagrid这样的容器。