2011-02-11 3 views
0

글꼴 크기가 커질 때 CheckBox 컨트롤이 확인란을 증가시키지 않으므로 터치 스크린에서 사용하기 때문에 자체 변형을 만드는 것으로 결정했습니다.클릭 한 이벤트를 템플릿 컨트롤로 위임

<ControlTemplate x:Key="YesNoCheckbox" TargetType="{x:Type CheckBox}"> 
    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
     <Button Grid.Column="0" Width="100" Name="myButton"/> 
     <ContentPresenter Grid.Column="1" Margin="4,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" RecognizesAccessKey="True"/> 
    </Grid> 
    <ControlTemplate.Triggers> 
     <Trigger Property="IsChecked" Value="True"> 
      <Setter Property="Content" TargetName="myButton" Value="Ja"/> 
     </Trigger> 
     <Trigger Property="IsChecked" Value="False"> 
      <Setter Property="Content" TargetName="myButton" Value="Nei"/> 
     </Trigger> 
    </ControlTemplate.Triggers> 
</ControlTemplate> 

그러나, 내가 체크 상태/체크되지 않은 체크 있도록 체크 박스에 버튼의 클릭 이벤트를 위임해야합니다

나는 다음과 같은 템플릿이 있습니다.

전 초보자이고 이것은 매우 쉽지만 검색 할 올바른 키워드가 부족하기 때문에이 정보를 검색하지 못합니다.

나는 당신의 의견을 기다리고 있습니다.

감사합니다,

스테판

답변

0

CheckBox은 그 자체로 ToggleButton 그리고 당신은 잘못 안에 다른 버튼을 배치하려고합니다.

CheckBox 클릭하면 자동으로 IsChecked으로 변경됩니다. 따라서 내부에 다른 버튼을 정의 할 필요가 없습니다. 대신 FontSize이 증가하고 현재 CheckBox 상태를 반영 할 때 확장되는 CheckBox 템플릿의 시각적 그림을 정의해야합니다. 기본적으로 기본 스타일을 수정해야합니다.

+0

왜 잘못 되었나요? 이 컨트롤과 중첩 컨트롤의 차이점은 무엇입니까 (예 : 이름 : )? – Vincent

+0

@Vincent - " 이름 : "이 다릅니다. 우선, 당신이하려고하는 것은

관련 문제