Aracılığıyla paylaş


Uygulama kaynaklarını kullanma (WPF .NET)

Bu örnekte uygulama tanımlı kaynakların nasıl kullanılacağı gösterilmektedir. Kaynaklar uygulama düzeyinde, genellikle projenizin kullandığı App.xaml veya Application.xaml dosyası aracılığıyla tanımlanabilir. Uygulama tarafından tanımlanan kaynaklar genel olarak kapsamlıdır ve uygulamanın tüm bölümleri tarafından erişilebilir.

Önemli

.NET 7 ve .NET 6 için Masaüstü Kılavuzu belgeleri yapım aşamasındadır.

Örnek

Aşağıdaki örnekte bir uygulama tanımı dosyası gösterilmektedir. Uygulama tanımı dosyası bir kaynak bölümü (özelliği için Resources bir değer) tanımlar. Uygulama düzeyinde tanımlanan kaynaklara uygulamanın parçası olan diğer tüm sayfalar tarafından erişilebilir. Bu durumda, kaynak bildirilen bir stildir. Denetim şablonu içeren tam bir stil uzun olabileceğinden, bu örnek stilin özellik ayarlayıcısı içinde ContentTemplate tanımlanan denetim şablonunu atlar.

<Application.Resources>
    <Style TargetType="Border" x:Key="FancyBorder">
        <Setter Property="Background" Value="#4E1A3D" />
        <Setter Property="BorderThickness" Value="5" />
        <Setter Property="BorderBrush">
            <Setter.Value>
                <LinearGradientBrush>
                    <GradientStop Offset="0.0" Color="#4E1A3D"/>
                    <GradientStop Offset="1.0" Color="Salmon"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

Aşağıdaki örnekte, önceki örnekteki uygulama düzeyinde bir kaynağa başvuran bir XAML sayfası gösterilmektedir. Kaynağa, kaynağın benzersiz kaynak anahtarını belirten bir StaticResource biçimlendirme uzantısıyla başvurulur. "FancyBorder" kaynağı geçerli nesne ve pencerenin kapsamında bulunmaz, bu nedenle kaynak araması geçerli sayfanın ötesinde ve uygulama düzeyindeki kaynaklara doğru devam eder.

<Border Style="{StaticResource FancyBorder}">
    <StackPanel Margin="5">
        <Button>Button 1</Button>
        <Button>Button 2</Button>
        <Button>Button 3</Button>
        <Button>Button 4</Button>
    </StackPanel>
</Border>

Ayrıca bkz.