텍스트 상자에 입력하거나 아무 것도 드래그하지 않으면 (D & D 기능을 사용 중입니다), 텍스트에 대괄호가 자동으로 삽입됩니다. 나는 단지 논리를 넘어서서 또는 논리를 넘어서는 코드에서 그렇게하고 싶지 않습니다. 그게 가능하니?텍스트 상자에 대괄호를 추가하십시오.
예 : AAA
을 입력하면 (AAA)
텍스트 상자에 표시됩니다.
텍스트 상자에 입력하거나 아무 것도 드래그하지 않으면 (D & D 기능을 사용 중입니다), 텍스트에 대괄호가 자동으로 삽입됩니다. 나는 단지 논리를 넘어서서 또는 논리를 넘어서는 코드에서 그렇게하고 싶지 않습니다. 그게 가능하니?텍스트 상자에 대괄호를 추가하십시오.
예 : AAA
을 입력하면 (AAA)
텍스트 상자에 표시됩니다.
나는 당신의 조건에
넘어 논리 또는 코드에서 그렇게 싶지 않다 이 수 없습니다. 뭔가은 변경 이벤트를 캡처하고 대괄호를 텍스트에 추가해야합니다. 그 코드 무언가는 논리 없이는 불가능합니다.
옵션은
자신의 로직 코드의없이 # 3
<Label Content="(" Visibility="{Binding HasText, Converter={StaticResource WindowsVisibilityBooleanConverter}}" />
<TextBox Text="{Binding TextInput}"
Height="18"
HorizontalAlignment="Stretch" />
<Label Content=")" Visibility="{Binding HasText, Converter={StaticResource WindowsVisibilityBooleanConverter}}" />
이다, 나는 이것이 당신이 원하는에 가장 가까운 것입니다 가정합니다.
<TextBox x:Name="tbInput" />
<TextBlock Text="{Binding ElementName='tbInput', Path=Text, StringFormat={}({0})}" />
단점은 TextBox
가 비어있는 경우 당신은 항상 빈 괄호를 ()
를 볼 수 있다는 것입니다.
은 참조 : String format using MultiBinding?
<StackPanel>
<Slider x:Name="sl1" Minimum="10" Maximum="100"/>
<Slider x:Name="sl2" Minimum="10" Maximum="100"/>
<Label x:Name="label13" Background="Yellow" Foreground="Black">
<Label.Content>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} x {1} Test">
<Binding ElementName="sl1" Path="Value" />
<Binding ElementName="sl2" Path="Value" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Label.Content>
</Label>
</StackPanel>
당신의 코드는 지금까지 무엇입니까? 바인드 된 속성의 setter에 대괄호를 추가하는 것은 무엇입니까? –
@ KevinBrechbühl- D & D에 대한 이벤트 처리기가있는 단순한 텍스트 상자로 설정자에서 가능하고 간단하지만이를 피하고 싶습니다. – mileyH
XAML은 실제로 논리를 수행하지 않습니다. 왜 코드 작성을 반대합니까? – Paparazzi