2011-07-28 3 views
0

전적으로 다른 사람이 만든 프로젝트에서 전체 솔루션에 사용되는 모든 단추 스타일이 포함 된 xaml 리소스 사전이 있습니다.Silverlight의 리소스에 대한 템플릿 결과 미리보기

솔루션 내에서 창을 다시 만들면 어떤 단추가 어떤 모양인지 알 수 있으므로 둘 중 어느 단추가 다른 곳에서 작동하는지 알 수 있으므로 새 단추에 맞는 스타일 조각을 제거 할 수 있습니다. 만들려고하고있어.

내 문제는 살펴볼 30 가지 이상의 단추 스타일이 있다는 것입니다.

누구든지 스타일을 해당 targetType에 적용한 결과를 미리 볼 수있는 좋은 방법을 알고 있습니까? 그것은 단순 할 필요는 없으며 단지 상황에 따라 간단하게 잘하면됩니다.

참고 Expression을 시도했지만 거기에는 옵션이 표시되지 않았지만 실제로 실험하지 않았습니다.

지금 당장 생각해 볼 수있는 가장 좋은 점은 체크 아웃하려는 스타일로 입력하는 버튼이 포함 된 빈 창을 만드는 것입니다. 그러면 내가 원하는 것을 찾을 때까지 그냥지나갑니다. 누구든지 더 나은 시스템을 가지고 있습니까?

나는 스타일의 예제를 포함하고 있는데, 도움이 될 경우를 대비하고 있지만 많은 의존성이있는 것 같습니다. 나는 Silverlight의 2 월에만 30 개를 넘어서서 아래를 보았습니다.

<Style TargetType="Button" x:Key="RightButtonBarButtonStyle"> 
     <Setter Property="Padding" Value="15,0,15,0" /> 
     <Setter Property="Foreground" Value="White"/> 
     <Setter Property="FontFamily" Value="Segoie"/> 
     <Setter Property="FontSize" Value="13"/> 
     <Setter Property="Padding" Value="3"/> 
     <Setter Property="BorderThickness" Value="1"/> 
     <Setter Property="BorderBrush"> 
      <Setter.Value> 
       <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
        <GradientStop Color="#FFA3AEB9" Offset="0"/> 
        <GradientStop Color="#FF8399A9" Offset="0.375"/> 
        <GradientStop Color="#FF718597" Offset="0.375"/> 
        <GradientStop Color="#FF617584" Offset="1"/> 
       </LinearGradientBrush> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Grid x:Name="grid" RenderTransformOrigin="0.5,0.5" Height="25"> 
         <Grid.RenderTransform> 
          <CompositeTransform/> 
         </Grid.RenderTransform> 
         <VisualStateManager.VisualStateGroups> 
          <VisualStateGroup x:Name="CommonStates"> 
           <VisualStateGroup.Transitions> 
            <VisualTransition GeneratedDuration="0:0:0.2"> 
             <VisualTransition.GeneratedEasingFunction> 
              <CubicEase EasingMode="EaseOut"/> 
             </VisualTransition.GeneratedEasingFunction> 
            </VisualTransition> 
           </VisualStateGroup.Transitions> 
           <VisualState x:Name="Normal"/> 
           <VisualState x:Name="MouseOver"> 
            <Storyboard> 
             <DoubleAnimation Duration="0" To="0.7" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid" d:IsOptimized="True"/> 
            </Storyboard> 
           </VisualState> 
           <VisualState x:Name="Pressed"> 
            <Storyboard> 
             <DoubleAnimation Duration="0" To="0.98" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="grid" d:IsOptimized="True"/> 
             <DoubleAnimation Duration="0" To="0.98" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="grid" d:IsOptimized="True"/> 
             <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="DisabledVisualElement" d:IsOptimized="True"/> 
            </Storyboard> 
           </VisualState> 
           <VisualState x:Name="Disabled"> 
            <Storyboard> 
             <DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="DisabledVisualElement"/> 
            </Storyboard> 
           </VisualState> 
          </VisualStateGroup> 

          <VisualStateGroup x:Name="FocusStates"> 
           <VisualState x:Name="Focused"/> 
           <VisualState x:Name="Unfocused"/> 
          </VisualStateGroup> 
         </VisualStateManager.VisualStateGroups> 
         <Border x:Name="border" BorderBrush="{StaticResource CoreButtonBorderBrush}" BorderThickness="0,1,1,1" CornerRadius="0,15,15,0" Background="{StaticResource CoreButtonBackgroundBrush}"/> 
         <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="10,0,10,0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 
         <Border BorderBrush="Black" BorderThickness="0" Height="1" Margin="11,1,11,0" VerticalAlignment="Top" Background="{StaticResource CoreButtonTopLineBrush}"/> 
         <Border BorderBrush="Black" BorderThickness="0" Height="1" Margin="12,0,13,-1" Background="{StaticResource CoreButtonBottomLineBrush}" VerticalAlignment="Bottom" Opacity="0.5"/> 
         <Border x:Name="DisabledVisualElement" Background="Black" IsHitTestVisible="false" Opacity="0" CornerRadius="0,15,15,0" /> 

        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

내가 표현을 기각 너무 빨랐다 나타납니다 편집. 기본적으로 (어쨌든 기본값이라고 가정 함) 프로그램 오른쪽 (속성 및 데이터 옆)에 리소스 탭이 있습니다. 열려 있지 않으면 메뉴 -> 자원을 선택할 수 있습니다.

여기에는 xaml 파일로 그룹화 된 모든 리소스가 표시되어 해당 이름 오른쪽에있는 단추를 누를 때 스타일이 어떻게 보이는지 미리 볼 수 있습니다. 하나의 버튼 유형 만 제대로 표시되지 않았습니다 (중복 키 이름이 있다고 주장했는데 왜 미리보기를 막을 지 모르지만 다른 합병증이있는 경우 비슷한 결과가 발생할 것으로 짐작됩니다).

저는 현재 유사한 기능을 찾을 수 있는지 VS2010을 살펴보고 있지만 그 점에 대해서는 표현의 문제가 많기 때문에 현재 의심 스럽습니다.

Visual Studio 2010에있는 기능을 아는 사람이라면 저에게 알려주세요. 편집을 시작하면 프로젝트간에 이동하거나 프로젝트를 새로 고침하지 않아도됩니다. 가능한 경우 Expression을 구매하지 않는 것이 좋습니다.

답변

0

표현이 너무 빠르다. 기본적으로 (어쨌든 기본값이라고 가정 함) 프로그램 오른쪽 (속성 및 데이터 옆)에 리소스 탭이 있습니다. 열려 있지 않으면 메뉴 -> 자원을 선택할 수 있습니다.

여기에는 xaml 파일로 그룹화 된 모든 리소스가 표시되어 해당 이름 오른쪽에있는 단추를 누를 때 스타일이 어떻게 보이는지 미리 볼 수 있습니다. 하나의 버튼 유형 만 제대로 표시되지 않았습니다 (중복 키 이름이 있다고 주장했는데 왜 미리보기를 막을 지 모르지만 다른 합병증이있는 경우 비슷한 결과가 발생할 것으로 짐작됩니다).

저는 현재 유사한 기능을 찾을 수 있는지 VS2010을 살펴보고 있지만 그 점에 대해서는 표현의 문제가 많기 때문에 현재 의심 스럽습니다.

Visual Studio 2010에있는 기능을 아는 사람이라면 저에게 알려주세요. 편집을 시작하면 프로젝트간에 이동하거나 프로젝트를 새로 고침하지 않아도됩니다. 가능한 경우 Expression을 구매하지 않는 것이 좋습니다.

관련 문제