【发布时间】:2014-11-10 12:43:11
【问题描述】:
我的商店应用中有一个FlipView 控件,我的FlipViewItems 绑定到一个 ObservableCollection。
每个FlipViewItem 都是一个TextBox。在运行时,当我尝试这个时,我得到一个InvalidCastException:
TextBox textbox = flipView.SelectedItem as TextBox;
这是为什么呢? FlipViewItem 是 TextBox,我将其转换为 TextBox。如果我不投,无论如何我都会得到一个例外。那么有什么关系呢?如何从我的FlipViewItem 中获取TextBox?
如果有帮助,这是我的 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>
【问题讨论】:
标签: c# xaml windows-runtime windows-store-apps microsoft-metro