2010-07-07 16 views
26

मैं निम्नलिखित शैली है, लेकिन मैं यह प्रोग्राम के रूप में बनाने की जरूरत है:शैली स्थापित करने के लिए कैसे प्रोग्राम के रूप में

<xcdg:DataGridControl MinHeight="300" 
         Name="listViewUnallocated" 
         ItemsSource="{Binding Source={StaticResource 
             cvs_unallocatedTerminals}}" 
         AllowDrop="True" 
         Drop="Grid_Drop" 
         MouseMove="Grid_MouseMove" 
         KeyUp="listViewUnallocated_KeyUp" 
         MouseDoubleClick="gridUnallocated_MouseDoubleClick" 
         ReadOnly="True" 
         DockPanel.Dock="Top"> 
    <xcdg:DataGridControl.Resources> 
     <Style TargetType="{x:Type xcdg:DataRow}" x:Name="selectedStyleTrigger"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding TerminalId}" Value="72948028"> 
        <Setter Property="Background" Value="Red" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </xcdg:DataGridControl.Resources> 

उत्तर

36

में कोड-पीछे नियंत्रण से फ़ाइल, कोशिश:

this.Style = Resources["ResourceName"] as Style; 
+2

FindResource ("संसाधन नाम") और संसाधन ["संसाधन नाम"] के बीच क्या अंतर है? – SepehrM

+0

इसके साथ मुझे विंडो के कन्स्ट्रक्टर पर शैली नहीं मिल सका, लेकिन 'FindResource' विधि के साथ मैं कर सकता था। (यह एक अमूर्त वर्ग है, जो कई स्थानों पर विरासत में है और बिना किसी परिभाषित XAML के साथ।) – ANeves

21

सेट x:Key XAML & में में कोड-पीछे उपयोग:

something.Style = (Style) FindResource("YourResourceKey"); 
0

हाय हम शैली programmaticall सेट कर सकते हैं वाई इस तरह।

Style rowStyle = new Style(typeof(DataGridRow)); 

DataTrigger dataTrigger = new DataTrigger("TerminalId"); 
Binding binding = new Binding(); 
dataTrigger.Binding = binding; 
dataTrigger.Value = 72948028; 

Setter setter = new Setter(DataGridRow.BackgroundProperty, Brushes.Red); 

dataTrigger.Setters.Add(setter); 

rowStyle.Triggers.Add(dataTrigger); 
listViewUnallocated.RowStyle = rowStyle; 
संबंधित मुद्दे