2014-08-25 2 views
0

저는 최근에 VB.Net에서 WPF를 사용하여 학습 프로젝트를 시작했습니다. 이것이 필요한 경우 답변을 찾을 수 없었던 것은 처음입니다. 이것이 기본이라면 사과드립니다.WPF Modern UI VB.Net 이벤트

Public Interface Icontent 
    Sub OnFragmentNavigation(e As FragmentNavigationEventArgs) 
    Sub OnNavigatedFrom(e As NavigationEventArgs) 
    Sub OnNavigatedTo(e As NavigationEventArgs) 
    Sub OnNavigatingFrom(e As NavigatingCancelEventArgs) 
End Interface 

페이지에서 : MainWindow를에서

https://mui.codeplex.com/wikipage?title=Handle%20navigation%20events%20in%20your%20content&referringTitle=Documentation

...

다음 웹 페이지 현대 UI 내에서 탐색 이벤트를 처리하는 방법에 대해 설명합니다,하지만 난 그게 동작하지 않습니다 :

Public Class Page1 
    Implements Icontent 

    Public Sub OnFragmentNavigation(e As FragmentNavigationEventArgs) Implements Icontent.OnFragmentNavigation 
     Debug.WriteLine("Yes") 
    End Sub 

    Public Sub OnNavigatedFrom(e As NavigationEventArgs) Implements Icontent.OnNavigatedFrom 
     Debug.WriteLine("Yes") 
    End Sub 

    Public Sub OnNavigatedTo(e As NavigationEventArgs) Implements Icontent.OnNavigatedTo 
     Debug.WriteLine("Yes") 
    End Sub 

    Public Sub OnNavigatingFrom(e As NavigatingCancelEventArgs) Implements Icontent.OnNavigatingFrom 
     Debug.WriteLine("Yes") 
    End Sub 
End Class 

하지만 이벤트는 전적으로 보이지 않습니다. 이자형.

Namespace FirstFloor.ModernUI.Windows 
    Public Interface Icontent 
     Sub OnFragmentNavigation(e As FragmentNavigationEventArgs) 
     Sub OnNavigatedFrom(e As NavigationEventArgs) 
     Sub OnNavigatedTo(e As NavigationEventArgs) 
     Sub OnNavigatingFrom(e As NavigatingCancelEventArgs) 
    End Interface 
End Namespace 

그러나 다시,이 작동하지 않습니다 나는 다음과 같이 FirstFloor.ModernUI.Windows 네임 스페이스에 인터페이스를 포함하여 시도?

표준 WPF 이벤트 - I.E. 초기화 됨 - 정상적으로 작동합니다.

미리 감사드립니다.

+0

왜 현대 UI를 선택 했습니까? – Paparazzi

+0

안녕하세요, 나는 그것을 우연히 발견하고 UI를 좋아한다는 것을 인정해야합니다. 더 적합한 대안이 있습니까? 불행히도 VS의 Express 버전을 사용하고 있기 때문에 Blend에 대한 액세스 권한이 없습니다. –

+0

WPF 및 이벤트 및 템플릿 학습을 시작으로 .... 처음에는 원시 WPF를 배웁니다. – Paparazzi

답변

1

콘텐츠 페이지 클래스에 IContent 인터페이스를 구현할 수 있습니다. 예 : 당신이 당신의 메인 창에있는 경우 :

<mui:ModernWindow x:Class="MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:mui="http://firstfloorsoftware.com/ModernUI" 
    Title="MainWindow" Height="350" Width="525" 
    ContentSource="/Page1.xaml"> 
</mui:ModernWindow> 

Page1.xaml.vb에 당신은 IContent을 구현할 수 : 콘텐츠 페이지를 탐색대로 /에서

Imports FirstFloor.ModernUI.Windows 

Public Class Page1 
    Implements IContent 

    Public Sub OnFragmentNavigation(e As Navigation.FragmentNavigationEventArgs) Implements IContent.OnFragmentNavigation 
     Debug.WriteLine("OnFragmentNavigation") 
    End Sub 

    Public Sub OnNavigatedFrom(e As Navigation.NavigationEventArgs) Implements IContent.OnNavigatedFrom 
     Debug.WriteLine("OnNavigatedFrom") 
    End Sub 

    Public Sub OnNavigatedTo(e As Navigation.NavigationEventArgs) Implements IContent.OnNavigatedTo 
     Debug.WriteLine("OnNavigatedTo") 
    End Sub 

    Public Sub OnNavigatingFrom(e As Navigation.NavigatingCancelEventArgs) Implements IContent.OnNavigatingFrom 
     Debug.WriteLine("OnNavigatingFrom") 
    End Sub 

End Class 

On... 방법은 다음 호출됩니다.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 나는 그걸 멀리 할 수 ​​있었지만, 내 문제는 내가 인터페이스를 구현하는 부분에 있다고 생각합니까? 그것은 네임 스페이스에서 구현하기 위해 Codeplex를 언급하지만 그렇게하는 데 문제가 있습니다. 나는 내가 뭘 시도했는지 보여주기 위해 나의 질문을 편집했다. 다시 한번 감사드립니다. –

+0

@JiminyCricket 질문 업데이트를 올바르게 이해하고 있다면, 자신 만의'IContent' 인터페이스를 정의하고 있습니다. 당신이해야 할 일은'FirstFloor.ModernUI.Windows'에 구현하는 것입니다 - 위의 샘플에있는'Imports FirstFloor.ModernUI.Windows' 만 필요하고'IContent' 인터페이스를 전혀 정의 할 필요가 없습니다 . – Mark

+0

완벽한! 감사 –