2009-04-20 9 views

答えて

0

なぜしたいですか?

DatePickerは、リストではなくカレンダーを削除する栄光のコンボボックスです。それが読み込み専用になる場合、それは事実上、読み込み専用テキストボックスになりますか?

<編集> 純粋に見た目のものなら、コントロールテンプレートのコピーを作成し、それを編集して、無効状態をアクティブ状態と同じに見せてから無効にする読み取り専用の動作が必要です。

+0

理由は、読み取り専用の状況でテキストボックスに変更することなく、同じコントロールを表示できるようにするためです。基本的には、ユーザーがテキストボックス部分に直接入力するか、ドロップダウンカレンダーを使用して日付を変更することなく日付を表示する必要があります。 – cyberbobcat

+2

なぜあなたはしたいですか? <<なぜ人々はいつもこの質問をしているのだろうか。通常、人々がSOに質問を投稿すると、何かを尋ねるだけの目的ではありません...あなたの編集に関しては、DisabledとReadOnlyを間違えないでください。それらは同じ目的を持たない2つの異なるプロパティです。同じ見方もありません。 – David

+0

DatePickerにReadOnlyというプロパティはありません。 「なぜあなたにしたいのですか」という質問には、彼が望む行動を理解するのに十分な情報がありませんでした。 –

-1

日付変更イベントを処理してそれを抑制し、今日の日付(または他の設定日)に戻すのはどうでしょうか?

+0

このアプローチの弱点は、エンドユーザーにとって、何かを行うためにコントロールを使用できるように見えることです...しかし、エントリを試してみると「失われて」戻ってしまいます。 AIの混乱を招く可能性があります。コントロールが表示目的のみのものであることを視覚的に示すのに最適です。 – EtherDragon

+0

代わりに、試してはいけないことをユーザーに知らせる – user230910

1

datepickerにソースコードが見つかり、ReadOnlyプロパティが追加されました。

..そして「はい」これを持つ価値のある理由があります。それがどのように見えるように、また、テキストボックスの境界線を変更...

  1. 通常無効(表情をグレーアウト)
  2. 読み取り専用(グレーアウトではないとノーカレンダーボタン:私は3つの状態を持っていると思いましたラベル)

3のスタイルが私の好みでしたが、具体的には、無効になっているコントロール(グレー表示)と読み取り専用の「視覚的」の区別が必要でした。

は(たくさんあります)コードを掲示わからないし...または誰もがまだ;-)

1

興味を持っている場合、私はDatePickerTextBoxコントロールの新しいスタイルを設定し、この問題を解決しました。このコントロールは、DatePickerのスタイルの一部です。次に、このラインで、このスタイルにアクセスできるすべてのDatePickerコントロールを読み取り専用にすることができます。これは読み取り専用で日付の手動編集を行いますが、ユーザーはドロップダウンボタンで日付を選択することができます。

<Style TargetType="prim:DatePickerTextBox"> 
    <Setter Property="IsReadOnly" Value="True"/> 
</Style> 
関連する問題