FrameworkElement.FindResource(Object) Yöntem

Tanım

Belirtilen anahtara sahip bir kaynağı arar ve istenen kaynak bulunamazsa bir özel durum oluşturur.

public:
 System::Object ^ FindResource(System::Object ^ resourceKey);
public object FindResource (object resourceKey);
member this.FindResource : obj -> obj
Public Function FindResource (resourceKey As Object) As Object

Parametreler

resourceKey
Object

İstenen kaynağın anahtar tanımlayıcısı.

Döndürülenler

İstenen kaynak. Sağlanan anahtara sahip bir kaynak bulunamazsa, bir özel durum oluşturulur. Özel UnsetValue durum durumunda bir değer de döndürülebilir.

Özel durumlar

resourceKey bulunamadı ve olay için UnhandledException bir olay işleyicisi yok.

-veya-

resourceKeybulunamadı ve Handled özelliği olaydaUnhandledException.false

resourceKey, null değeridir.

Örnekler

Aşağıdaki örnek adlandırılmış bir kaynağı alır ve bir özelliği doldurmak için uygun bir türe yayınlar.

void SetBGByResource(object sender, RoutedEventArgs e)
{
  Button b = sender as Button;
  b.Background = (Brush)this.FindResource("RainbowBrush");
}
Private Sub SetBGByResource(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim b As Button = TryCast(sender, Button)
  b.Background = CType(Me.FindResource("RainbowBrush"), Brush)
End Sub

Açıklamalar

Önemli

Bulunamayan bir anahtar için bu yöntemi çağırırsanız, bir özel durum oluşturulur. çağrısından FindResourcekaynaklanan özel durumları işlemek istemiyorsanız çağrısı TryFindResource yapın. TryFindResource istenen kaynak bulunamadığında döndürür null ve özel durum oluşturmaz.

Kaynak çağıran öğede bulunamazsa, mantıksal ağaçtaki üst öğe, ardından uygulama, ardından temalar ve son olarak sistem kaynakları aranırsa. Bu arama metodolojisi, işaretlemede dinamik bir kaynak başvurusu tarafından bir kaynak istendiyse ağaçta yapılan aramayla aynıdır. Kaynak arama hakkında daha fazla bilgi için bkz . XAML Kaynakları.

Genellikle, döndürülen kaynak değeriyle ayarladığınız özelliğin türüne hemen bir FindResource dönüş değeri atarsınız.

Kaynak anahtarları mutlaka dize değildir. Örneğin, tema düzeyindeki denetim stilleri, denetimin temeli için kasıtlı olarak kullanılır Type ve denetimler için uygulama veya sayfa stilleri genellikle aynı anahtar kuralını kullanır. Ayrıntılar için bkz. Stil oluşturma ve Şablon Oluşturma veya XAML Kaynakları.

Şunlara uygulanır

Ayrıca bkz.