2014-08-30 19 views
6

Diciamo, ho qualcosa di simile (in MainPage.xaml):stile Set StaticResource di un controllo in codice dietro

<Page.Resources> 
    <Style TargetType="TextBlock" x:Key="TextBlockStyle"> 
     <Setter Property="FontFamily" Value="Segoe UI Light" /> 
     <Setter Property="Background" Value="Navy" /> 
    </Style> 
</Page.Resources> 

Poi, vorrei applicare tale stile StaticResource alla mia dinamica creata TextBlock (file MainPage.xaml.cs).

C'è qualche possibilità di fare questo invece di fare qualcosa di simile:

myTextBlock.FontFamily = new FontFamily("Segoe UI Light"); 
myTextBlock.Background = new SolidColorBrush(Color.FromArgb(255,0,0,128)); 

risposta

6

È possibile impostare, Qualcosa di simile,

TextBlock myTextBlock= new TextBlock() 
    { 
     FontFamily = new FontFamily("Segoe UI Light"); 
     Style = Resources["TextBlockStyle"] as Style, 
    }; 
+0

Vedo che questo è vecchio ma qualcuno sa come fare esattamente la stessa cosa con FrameworkElementFactory (typeof (TextBlock))? – grinder22

1

È possibile utilizzare questo:

Style textBlockStyle; 
try 
{ 
    textBlockStyle = FindResource("TextBlockStyle") as Style; 
} 
catch(Exception ex) 
{ 
    // exception handling 
} 

if(textBlockStyle != null) 
{ 
    myTextBlock.Style = textBlockStyle; 
} 

o TryFindResource avvicinamento:

myTextBlock.Style = (Style)TryFindResource("TextBlockStyle"); 
Problemi correlati