2009-08-06 7 views
0

私はwpfを初めて使っています。私はカレンダーコントロールを書いています。 Generic.xamlにデフォルトのテンプレートを定義しました。すべての日付がリストボックスに入力されます。リストボックスはテンプレートで定義されているので、FindName()を使用してコントロールにアクセスしています。問題は、私はそれが私がその時に初期化されていないと考えているテンプレートコントロールを(アクセスしているため、コンストラクタでリストボックスを移入するメソッドを呼び出すことができないということです。ここでテンプレートで使用されるコントロールに既定値を設定する方法はありますか。


private void DisplayCurrentMonthContents() 
    { 
     int daysInMonth = DateTime.DaysInMonth(DateTime.Now.Year, CurrentMonth); 
     TextBlock CurrentMonthTextBlock = GetTextBlock(); 
     ListBox DateListBox = (ListBox)Template.FindName("PART_ListBox", this); 

     CurrentMonthTextBlock.Text = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(CurrentMonth); 
     DateListBox.Items.Clear(); 
     for (int counter = 1; counter != daysInMonth; counter++) 
     { 
      DateListBox.Items.Add(counter); 
     } 
    } 

を読み込むコードがあります

私は解決策を得た。どのように私は、デフォルト値とテンプレートで使用されているコントロールを読み込むことができますか?

答えて

0

気にしない。私は "mはそれを間違った方法に近づいていることを信じています。コンストラクタを使用しないでください。代わりに、OnApplyTemplate()をオーバーライドしてください

乾杯。

関連する問題