문제

내 프로젝트에서 다음 템플릿을 사용했습니다.

<DataTemplate 
    x:Key="textBoxDataTemplate">
    <TextBox 
        Name="textBox"
        ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"
        Tag="{Binding}"
        PreviewKeyDown="cellValueTextBoxKeyDown">
        <TextBox.Text>
            <MultiBinding
                Converter="{StaticResource intToStringMultiConverter}">
                <Binding 
                    Path="CellValue"
                    Mode="TwoWay">
                        <Binding.ValidationRules>
                            <y:MatrixCellValueRule 
                                MaxValue="200" />
                        </Binding.ValidationRules>
                </Binding>
                <Binding 
                    RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type y:MatrixGrid}}" 
                    Path="Tag"
                    Mode="OneWay" />
            </MultiBinding>
        </TextBox.Text>
    </TextBox>
</DataTemplate>

이 템플릿을 사용하여 사용자를위한 편집 가능한 행렬을 만듭니다. 사용자는 매트릭스 내에서 셀에서 셀로 탐색 할 수 있으며 선택한 텍스트 상자의 데이터를 강조하고 싶지만 작동하지 않습니다. 효과를 달성하기 위해 TextBox.Focus () 및 TextBox.Selectall ()을 호출했습니다. Focus ()는 작동하지만 텍스트는 결코 강조되지 않습니다.

모든 도움을 환영하고 감사합니다.

도움이 되었습니까?

해결책

좋아, 누군가 관심이 있다면,이 문제에 대한 해결책은 진술을 포함시키는 것이 었습니다. e.Handled = true; 이벤트 핸들러 방법에서 textBox.SelectAll() 그리고 textBox.Focus() 호출됩니다.

문제는 텍스트 상자에 이벤트 핸들러를 첨부했다는 것입니다. PreviewKeyDown 터널링 이벤트와 아마도 SelectAll() 그리고 Focus() 전화를 걸지 않고 전화가 무시됩니다 e.Handled = true; 성명.

누군가를 도울 수 있기를 바랍니다.

다른 팁

코드의 나머지 부분이 없으면 이것이 귀하에게 적합한 지 여부를 말하기는 어렵지만 DataTemplate (게시되지 않은 코드를 참조하는 부품을 제외)를 사용하여 작은 샘플을 작성했습니다.

DataTemplate의 텍스트 상자에 GotFocus 이벤트 핸들러를 추가하여 텍스트 상자의 모든 텍스트를 선택할 수있었습니다.

<TextBox 
    ...
    GotFocus="textBox_GotFocus"
    ...>
...
</TextBox>

그리고 코드-홀드 :

    private void textBox_GotFocus(object sender, RoutedEventArgs e)
    {
        TextBox textBox = sender as TextBox;
        if (textBox != null)
        {
            textBox.SelectAll();
        }
    }

다른 상황에서 모든 것을 선택하려고하는 경우 (상자에 초점을 맞출 때가 아니라) 알려주십시오.

매우 간단한 솔루션은 다음과 같습니다 (템플릿에 맞는 지 모르겠지만 시도해보십시오). http://social.msdn.microsoft.com/forums/en-us/wpf/thread/564b5731-af8a-49bf-b297-6d179615819f

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top