Silverlight 3 탐색 응용 프로그램이 있는데 항목을 편집 할 때 사용자가 화면에서 벗어나기보다는 명시 적으로 편집을 취소하도록 요구할 때 다양한 Silverlight 페이지에 대한 링크를 일시적으로 해제하고 싶습니다.Silverlight 3 탐색 모음에서 페이지 링크를 일시적으로 비활성화하려면 어떻게합니까?
[편집] 프로그래밍 방식으로 탐색 링크를 일시적으로 사용 중지하려면 어떻게해야합니까?
Silverlight 3 탐색 응용 프로그램이 있는데 항목을 편집 할 때 사용자가 화면에서 벗어나기보다는 명시 적으로 편집을 취소하도록 요구할 때 다양한 Silverlight 페이지에 대한 링크를 일시적으로 해제하고 싶습니다.Silverlight 3 탐색 모음에서 페이지 링크를 일시적으로 비활성화하려면 어떻게합니까?
[편집] 프로그래밍 방식으로 탐색 링크를 일시적으로 사용 중지하려면 어떻게해야합니까?
각 HyperLink의 IsEnabled를 전역 속성에 바인딩 할 수 있습니다. 코드에서 속성을 설정하여 탐색을 비활성화 할 수 있습니다.
MainPage.cs
public partial class MainPage : UserControl
{
public bool IsNavigationEnabled
{
get { return (bool)GetValue(IsNavigationEnabledProperty); }
set { SetValue(IsNavigationEnabledProperty, value); }
}
public static readonly DependencyProperty IsNavigationEnabledProperty =
DependencyProperty.Register("IsNavigationEnabled", typeof(bool), typeof(MainPage), null);
public MainPage()
{
InitializeComponent();
DataContext = this;
}
...
에서 MainPage.xaml
<HyperlinkButton
x:Name="Link1"
IsEnabled="{Binding IsNavigationEnabled}"
Style="{StaticResource LinkStyle}"
NavigateUri="/Home"
TargetName="ContentFrame"
Content="home" />
Home.xaml.cs는
private void Button_Click(object sender, RoutedEventArgs e)
{
MainPage page = (MainPage)Application.Current.RootVisual;
page.IsNavigationEnabled = !page.IsNavigationEnabled;
}
이는 대답보다는 추측하지만 더 있습니다 :
음, 간단하고 비 우아한 방법이 있으며, 약 항목이 될 때 사용할 수 없게하는 모든 하이퍼 링크를 강제하는 것입니다 편집 한 항목은 포커스를 얻은 다음 항목의 초점이 맞지 않거나 사용자가 항목을 취소 할 때 사용하도록 설정됩니다. 이렇게하려면 내부의 링크가있는 컨테이너를 잡고 루프를 통해 루프를 비활성화하거나 활성화 할 수 있습니다.
네비게이션이 다른 컨트롤에 완전히있는 경우 해당 컨트롤은 같은 포커스 및 포커스 손실 방법에 따라 사용 안 함으로 설정할 수 있습니다.
와, 그것을 맞춤법에 감사 ... 많이 인정. 나는 아직도 실버 라이트에 대해 배울 것이 많다. – Feckmore
여러분을 환영합니다! 실버 라이트는 놀랍습니다. 당신은 그걸로 멋진 것들을 할 수 있습니다. Silverlight에 대해 매일 새로운 조정 방법을 배웁니다. – thomasmartinsen