런타임시 WPF 정적 리소스 값을 변경하려면 어떻게해야합니까?wpf 정적 리소스 값 변경
는 좀 textblocks 그때 나는 형식을 변경하려는 컨트롤에 바인딩 할 개체에 따라
<TextBlock Grid.Row="2" Grid.Column="1"
Text="{Binding Path=Breadth, StringFormat={StaticResource ResourceKey=LengthFormat}}" />
을 참조하는 다음 리소스
<UserControl.Resources>
<sys:String x:Key="LengthFormat">#.# mm</sys:String>
<sys:String x:Key="AreaFormat">#.# mm²</sys:String>
<sys:String x:Key="InertiaFormat">#.# mm⁴</sys:String>
</UserControl.Resources>
있습니다. 다음과 같이 나는 컨트롤의 속성을 설정 한 :
public string LengthFormat
{
set
{
this.Resources["LengthFormat"] = value;
}
}
public string AreaFormat
{
set
{
this.Resources["AreaFormat"] = value;
}
}
public string InertiaFormat
{
set
{
this.Resources["InertiaFormat"] = value;
}
}
다음 바인딩 전에 각 문자열을 설정합니다.
하지만 작동하지 않는 사람이 누구나 제안합니까?
건배
다음과 같은 오류 메시지가 나타납니다. 오류 4 'Binding'유형의 'StringFormat'속성에서 'DynamicResourceExtension'을 설정할 수 없습니다. 'DynamicResourceExtension'은 DependencyObject의 DependencyProperty에서만 설정할 수 있습니다. –
오오 그렇습니다. 이 경우 내 솔루션을 적용 할 수 없습니다. DependencyProperty에서만 작동합니다. –