0

ユーザーがいくつかの特定のビューで「編集」をクリックして編集できるようにする必要があるアプリケーションを作成しています。コントローラー(テキストボックス、コンボボックスなど)IsEnabledを「NotReadOnly」プロパティにバインドすることでこれを解決しましたVM。

ユーザーは、最初に編集ボタンをクリックしなくても、コントローラー (特にテキストボックス) からデータをコピーできるようにしたいと考えています。IsEnabled=false はほとんどの機能を無効にするため、これは不可能です。

「IsReadOnly = True」に変更することは代替手段ではありません。ユーザーが編集モードではないことを明確に確認できるように、無効なコントローラー (背景、フォントの変更など) のルック アンド フィールが必要です。そのすべてが VM の「ReadOnly」プロパティにバインドされているため、複数のバックグラウンド プロパティによって、一部のコントローラーが有効かどうかが決定される場合もあります。

そのため、無効なコントローラーでコピー (およびできれば選択/スクロールも) を機能させる方法を見つけたいと考えています。

それが不可能な場合、すべてのコントローラーに大量の XAML を追加することなく、無効なコントローラーのルック アンド フィールを取得する方法はありますか?

4

2 に答える 2

3

無効化されたテキストボックスからテキストを選択することはできません。あなたができることは、それを読み取り専用にし、同様のものを無効に設定することです。

<TextBox IsEnabled="False">Disabled</TextBox>
<TextBox IsReadOnly="True" Text="Readonly" Background="LightGray" Foreground="Gray"></TextBox>

この投稿を参照してください: WPF で TextBox の無効な背景色を変更する方法

于 2015-11-13T10:51:40.713 に答える