2010-07-21 2 views
0

프레임 (공용 클래스 Frame : ContentControl, IDisposable)이라는 사용자 지정 컨트롤이 있습니다. 생성자의 프레임은 DefaultStyleKey = typeof (Frame)를 정의합니다. 프레임 템플리트는 Generic.xaml 자원에 있습니다. 이제 다른 프로젝트에서 나는 Silverlight.Controls에 프레임을 사용하고 난 내 메인 페이지를 설정하면 루트 요소는 프레임이루트 컨트롤의 템플릿

<ShellFrame:Frame x:Class="Modules.Adresar.MainPage" 
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:s="clr-namespace:Modules.Adresar.ViewModel" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ShellFrame="clr-namespace:Silverlight.Controls;assembly=Silverlight.Controls" mc:Ignorable="d" 
DataContext="{Binding Source={StaticResource VMLocator}, Converter={StaticResource VMIndexerConverter}, ConverterParameter=AdresarVM}" 
       d:DataContext="{d:DesignInstance IsDesignTimeCreatable=True, Type=s:AdresarViewModel}" x:Name="MainFrame"> 

<Grid x:Name="LayoutMain"> 


</Grid> 

I 프레임의 템플릿을 편집 할 수있는 것처럼입니다. 블렌드가 템플릿 메뉴 항목 편집을 비활성화 한 것을 보여줍니다. 나는 일반 사용자 컨트롤의 레이아웃 루트 그리드 내부 프레임을 넣으면 그러나 모든 이런 일이 왜

이 enybody 알고 있나요이

<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:ShellFrame="clr-namespace:Silverlight.Controls;assembly=Silverlight.Controls" 
mc:Ignorable="d" 
x:Class="Adresar.Test" 
d:DesignWidth="640" d:DesignHeight="480"> 

<Grid x:Name="LayoutRoot"> 
    <ShellFrame:Frame Content="Frame" HorizontalAlignment="Left" Margin="72,136,0,0" VerticalAlignment="Top"/> 
</Grid> 

처럼 .. 괜찮아? 고맙습니다!

답변

0

프레임 컨트롤을 ContentControl 대신 UserControl을 기반으로 변경하면 블렌드에서 나타나는 동작이 수정됩니다. 컨트롤을 어떻게 사용하고 있는지 잘 모르겠지만 UserControl을 사용할 수 없다면 컨텍스트를 포함하고 싶을 수도 있습니다.

+0

변경된 후 빌드 할 수 없습니다. 프레임을 만들 수 없습니다. 오류가 발생했습니다. –

관련 문제