2010-09-24 16 views
7

programlı olarak bir onay kutusunun değerini ayarlama C# kullanarak küçük bir wpf projesi üzerinde çalışıyorum. 2 pencerem var. Bir pencereden diğerine geçtiğimde, 2. pencerede önceden seçilmiş olan bazı öğelere ihtiyacım var. Kayıt defterinden çektiğim bilgilere dayanarak değeri ayarlamam gereken bir onay kutum var. 1. pencerede, 2. pencereye bir referansım var. Diğer pencere açıldığında, daha önce işaretlenmiş olarak işaretlenmiş onay kutusunu nasıl işaretleyebilirim? Bu kullanmaC# (wpf)

private void btnGoToNextWindow_Click(object sender, RoutedEventArgs e) 
    { 
      Window2 w2 = new Window2(); 

      //This doesn't work    
      w2.Checked = true; 

      w2.Show(); 
      this.Close(); 
    } 

cevap

11

: Sen pencerede değil kontrol işaretli özelliği doğru ayarladığımız

 Window2 w2 = new Window2(); 

     //This doesn't work    
     w2.Checked = true; 

. Böyle somehting olmalıdır:

 Window2 w2 = new Window2();   
     w2.MyCheckBox.IsChecked = true; 
+1

için WPF hiçbir İşaretli mülkiyet yoktur Onay Kutusu –

+2

w2.MyCheckBox.IsChecked = true; (Bu iyi çalıştı) –

4

Sen IsChecked özelliğini kullanabilirsiniz.

Umarım bu yardımcı olur. Damian

+0

Teşekkürler, bu aradığım şeydi. Bu çalıştı. –

+1

Lütfen, bir cevap faydalı olduğunda bunu cevaplandı olarak işaretleyin. Bu şekilde, diğer insanlar kolayca tanıyabilir ve sorularınızı cevaplayan kişi bunun için kredi alır. –

+0

Bu daha iyi bir cevaptır, asla kodu kullanmamalısınız. neredeyse sabit kodlama gibi. – Kevin

-1

Görünüm modelini IoC veya başka bir moda yoluyla görünüme itmek için hareket etmelisiniz. Değeri bir özelliğe bağlayın ve çerçevenin, her yerde sabit kod değerlerine sahip olmak yerine, ciltleme yoluyla hayatınızı kolaylaştırmasını sağlayın.

http://msdn.microsoft.com/en-us/library/ms752347.aspx

+0

Kavram Yanılgısı. Bir değere ayarlanan bir görünüm modelinde bir değişkene sahip olmak, daha sonra sadece bir alıcıya ait ayrıntılı bir labirent aracılığıyla bir değere (hatta bir bağlayıcıdan) hala bir "sabit kodlar" elde eder. Bu değişkenin hala başka bir mülkün değerinden bile olsa bir yerden ayarlanması gerekir. Neden, bir model değişkenine/değerden ayarlamayı/bu değerden almayı aşırı şişirilmiş bir yöntem yerine kutuya doğrudan ayarlamıyorsunuz? Bu basit bir şey için DataBinding gerçekten de üst düzeydedir. – vapcguy