2011-11-04 3 views
0

실버 라이트로 웹 사이트를 만들고 있는데이 문제가 발생했습니다. URI 형식이 잘못되었습니다. Silverlight Navigation

는 내가 원하는 페이지에 navigationFrame를 탐색, 내 mainpage에 다음의 몇 가지를 사용하고자하는 이미지와 HyperlinkButton

<UserControl 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing" 
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
xmlns:l2="clr-namespace:SilverlightApplication1.Klassen" 
mc:Ignorable="d" 
x:Class="SilverlightApplication1.MenuButton" 
d:DesignWidth="640" d:DesignHeight="480"> 

    <Grid x:Name="LayoutRoot"> 
     <Canvas x:Name="cnvMenuButton" Width="200" Height="50"> 
      <Image Source="/SilverlightApplication1;component/Buttons/MenuButton1.png" Height="50" Width="50" /> 
      <HyperlinkButton x:Name="btnLink" Content="HyperlinkButton" Canvas.Left="55" Canvas.Top="14" FontFamily="Lithos Pro Regular" FontSize="14.667" Foreground="Black" Background="{x:Null}" RenderTransformOrigin="0.5,0.5"/> 
     </Canvas> 
    </Grid> 
</UserControl> 

이있는 사용자 지정 컨트롤 (Menubutton를) 만들었습니다. 내 mainpage 이러한 특성의를 지정하면 내가

public partial class MenuButton: UserControl 
{ 

    public MenuButton() 
    { 
     // Required to initialize variables 
     InitializeComponent(); 
    } 


     public string Titel 
     { 
      get { return btnLink.Content.ToString(); } 
      set { btnLink.Content = value; } 
     } 

     public string NaviUri 
     { 
      set { 
       Uri naviuri = new Uri(value); 
       btnLink.NavigateUri = naviuri; 
       } 
     } 

     public string TargetFrameString 
     { 
      get { return btnLink.TargetName; } 
      set { btnLink.TargetName = value; } 
     } 

} 

그래서 내 mainpage에서 URI 및 targetName을 지정할 수 있도록 HyperlinkButtons는 NavigateUri과 targetName을 작동하기 때문에 그래서, 나는 MenuButton 페이지 뒤에 코드를 변경 이 오류가 발생합니다. [net_uri_Badformat] 인수 : 디버깅 자원 문자열을 사용할 수 없습니다. 내 mainpage에 사용

코드 : 사용자 지정 컨트롤

<StackPanel x:Name="Menu" Orientation="Vertical" Canvas.Top="243" Height="300" Width="100" HorizontalAlignment="Left" RenderTransformOrigin="0.5,0.5" Margin="70,290,0,126"> 
     <StackPanel.RenderTransform> 
      <CompositeTransform/> 
     </StackPanel.RenderTransform> 
     <l1:MenuButton TargetFrame="contentFrame" NaviUri="Home" Titel="Home"/> 
</StackPanel> 

같은 페이지에서 contentframe와

내 StackPanel을가

<navigation:Frame x:Name="contentFrame" d:LayoutOverrides="GridBox" RenderTransformOrigin="0.5,0.5"> 
      <navigation:Frame.RenderTransform> 
       <CompositeTransform/> 
      </navigation:Frame.RenderTransform> 
      <navigation:Frame.UriMapper> 
       <navigationCore:UriMapper> 
        <navigationCore:UriMapping MappedUri="/Views/Home.xaml" Uri="Home"/> 
        <navigationCore:UriMapping MappedUri="/Views/About.xaml" Uri="About"/> 
       </navigationCore:UriMapper> 
      </navigation:Frame.UriMapper> 
</navigation:Frame> 

는 누가 이것 좀 도와 수

? UriType.Relative

당신의 NaviUri 속성에 약간의 감독이처럼

답변

1

당신은 열린 우리당 생성자에 두 번째 매개 변수를 포함해야 그것은 get 메소드를 가지고 있지 않습니다. 설정된 값을 검색 할 방법이 없습니다. !

+0

이 부분적 일)) 작동하지만 지금은 오류가 계속 : 속성 'NaviUri하는'유형 MenuButton에 존재하지 않습니다 XML 네임 스페이스 'clr-namespace : SilverlightApplication1'입니다. 그러나 나는 통제 할 수있는 재산을 명확히 정의 했습니까? – user1013163

0
NavigationService.Navigate(new Uri("/dllPageTest;component/PageFromDll.xaml",UriKind.RelativeOrAbsolute)); 

이 예는, 그가 [net_uri_Badformat] 오류를주는 중지

관련 문제