0
UWPアプリケーションに浮動プロパティ(双方向)にバインドされた複数のテキストボックスがあります。私はコンパイルされたバインディングを使用します。現時点では、これらのテキストボックスには「コードビハインド」はありません。今、私は単純なミスタイプでアプリケーションがクラッシュするという問題を抱えています(たとえば、ユーザーが数字の代わりに文字を入力した場合)。私は生成されたコードを変更せずにこれらの例外をどのように処理できるのだろうかと思います。UWPアプリケーションで生成されたXAMLコードによってスローされたArgumentExceptionの処理方法
<TextBox Text="{x:Bind ViewModel.QtyGoodEntered, Mode=TwoWay}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1" FontSize="36" x:Name="QtyGoodTextBox"/>
文字をフロートに変換しようとするとアプリケーションがクラッシュします。
case 33: // Views\ProdFeedbackView.xaml line 191
this.obj33 = (global::Windows.UI.Xaml.Controls.TextBox)target;
(this.obj33).LostFocus += (global::System.Object sender, global::Windows.UI.Xaml.RoutedEventArgs e) =>
{
if (this.initialized)
{
// Update Two Way binding
this.dataRoot.ViewModel.QtyGoodEntered = (global::System.Double) global::Windows.UI.Xaml.Markup.XamlBindingHelper.ConvertValue(typeof(global::System.Double), this.obj33.Text);
}
よろしく ニルス
のthatsあなたは 'Converter'プロパティについて知っていますか? https://docs.microsoft.com/en-us/windows/uwp/xaml-platform/x-bind-markup-extension#properties-that-you-can-set-with-xbind –
例外をキャッチする代わりに、ユーザーが任意の文字を入力できるようにすべきではありません。 –
@Florian MoserあなたはIValueConverterを書いてそこにあるものを処理すべきですか?いいですね。私は明日それを試み、あなたに知らせるでしょう。私の現在の解決策は、私のViewクラス内でApp.UnhandledExceptionを購読することですが、私はそれほど幸せではありません。 – nilsk