설정에 정의 된 값에 바인딩
WPF에서 설정에 정의 된 값으로 바인딩을 사용할 수 있습니까? 가능하다면 샘플을 제공해주세요.
먼저 설정이 정의 된 네임 스페이스를 디자인 할 사용자 지정 XML 네임 스페이스를 추가해야합니다.
xmlns:properties="clr-namespace:TestSettings.Properties"
그런 다음 XAML 파일에서 다음 구문을 사용하여 기본 설정 인스턴스에 액세스합니다.
{x:Static properties:Settings.Default}
따라서 최종 결과 코드는 다음과 같습니다.
<ListBox x:Name="lb"
ItemsSource="{Binding Source={x:Static properties:Settings.Default},
Path=Names}" />
출처 : WPF-설정에 정의 된 속성에 컨트롤을 바인딩하는 방법은 무엇입니까?
참고 : @Daniel 및 @nabulke가 지적했듯이 설정 파일의 액세스 수정 자를로 설정 Public
하고 범위 를 다음으로 설정 하는 것을 잊지 마십시오.User
위의 솔루션은 작동하지만 매우 장황하다는 것을 알았습니다. 대신 사용자 정의 마크 업 확장을 사용할 수 있습니다. 다음과 같이 사용할 수 있습니다.
<ListBox x:Name="lb" ItemsSource="{my:SettingBinding Names}" />
이 확장에 대한 코드는 다음과 같습니다.
public class SettingBindingExtension : Binding
{
public SettingBindingExtension()
{
Initialize();
}
public SettingBindingExtension(string path)
:base(path)
{
Initialize();
}
private void Initialize()
{
this.Source = WpfApplication1.Properties.Settings.Default;
this.Mode = BindingMode.TwoWay;
}
}
자세한 내용은 여기 : http://www.thomaslevesque.com/2008/11/18/wpf-binding-to-application-settings-using-a-markup-extension/
CSharper의 대답은 (다른 WPF 응용 프로그램을 분명히 99.999 %는 달리,하지 C #) VB.NET에서 코딩 내 WPF 응용 프로그램에 대한 작업을하지 않았다 @ 내가 그 불평 지속적인 컴파일러 오류가있어 같은 Settings
에서 찾을 수 없습니다 MyApp.Properties
가지 않을 것이다, 네임 스페이스 재건 후에도 멀리 떨어져 있습니다.
온라인에서 많은 검색을 한 후 대신 local
내 응용 프로그램의 기본 창 XAML 파일에서 기본적으로 생성 된 XAML 네임 스페이스 를 대신 사용하는 것이 효과적 이었습니다 .
<Window
<!-- Snip -->
xmlns:local="clr-namespace:MyApp"
<!-- Snip -->
><!-- Snip --></Window>
... 다음과 같은 방법을 사용하여 내 설정에 바인딩합니다 (여기서는 기본 Friend 액세스 수정자를 사용하여 사용자 MyBooleanSetting
유형 Boolean
및 범위 의 프로젝트 속성에 정의한 설정 ).
<CheckBox IsChecked="{Binding Source={x:Static local:MySettings.Default}, Path=MyBooleanSetting, Mode=TwoWay}"
Content="This is a bound CheckBox."/>
설정이 실제로 저장되었는지 확인하려면
MySettings.Default.Save()
... 코드 숨김의 어딘가에 (예 : 파일 Me.Closing
이벤트 MainWindow.xaml.vb
).
(이 Visual Studio 포럼 게시물 에서 영감을 얻었습니다. Muhammad Siddiqi의 답변을 참조하십시오.)
참고 URL : https://stackoverflow.com/questions/845030/bind-to-a-value-defined-in-the-settings
'Programing' 카테고리의 다른 글
.bashrc에서 에코 할 때 SCP가 작동하지 않습니까? (0) | 2020.10.30 |
---|---|
다중 값 사전 (0) | 2020.10.29 |
Excel에서 KB, MB, GB 등으로 셀의 바이트 서식을 어떻게 지정할 수 있습니까? (0) | 2020.10.29 |
Facebook 액세스 토큰이 여전히 유효한지 확인하는 방법이 있습니까? (0) | 2020.10.29 |
CancellationToken의 기본 매개 변수 (0) | 2020.10.29 |