1

私はこのxamlを持っています

<mui:ModernWindow x:Uid="mui:ModernWindow_1" x:Class="App1.HomePage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:mui="http://firstfloorsoftware.com/ModernUI"
  xmlns:sys="clr-namespace:System;assembly=mscorlib"
  ContentSource="/Window1.xaml"
  Title="MainWindow" Height="350" Width="525" WindowState="Maximized" MenuLinkGroups="{Binding menuLinkGroups}">
    <mui:ModernWindow.Resources>
        <sys:String x:Key="ApplicationName">Bla Bla</sys:String>
    </mui:ModernWindow.Resources>
    <Grid Style="{StaticResource ContentRoot}" Name="mainGrid">
    </Grid>
</mui:ModernWindow>

現在のウィンドウ リソースを参照する必要があるため、これを使用しました。

object obj = this.Resources["ApplicationName"];

しかし、this.Resourcesにはリソースがありません。したがって、objは常に null です。このウィンドウ リソースを参照するにはどうすればよいですか?

4

5 に答える 5

0

コントロールであると仮定thisします...

var parent = Window.GetWindow(this)

コントロールが現在オンになっているウィンドウを取得すると、すでに行ったようにリソースにアクセスできるはずです

parent.Resources["ApplicationName"];
于 2014-07-23T13:30:25.593 に答える
0

以下のコードを使用できます

var MainGrid=Application.Current.FindResource("strApp")

また

this.FindResource("ApplicationName")
于 2014-07-23T13:27:20.530 に答える
0

おかげで解決策が見つかりました (ローカライズされた dll を更新するのを忘れています)。

ソリューションをクリーンアップして再構築し、locbaml.exe を再度使用して、新しいローカライズされた dll を生成しました。

于 2014-07-23T13:55:01.243 に答える
0

、 、、 、またはそのようなものでthisあると仮定します。FrameworkElementWindowGridButton

object obj = this.TryFindResource("ApplicationName");
于 2014-07-23T13:23:08.240 に答える