텍스트 상자에 다른 텍스트 상자의 텍스트가 포함되어있을 때 텍스트 상자를 강조 표시하는 XAML을 만들고 싶습니다. 본질적으로 검색된 항목을 강조 표시합니다.테두리 안의 텍스트 상자에 내 검색 텍스트 상자의 텍스트가있는 경우 테두리를 변경하십시오.
UI :
남아있는 유일한 사람이 세부 사항에 검색어를 포함 할 때까지 UI의 왼쪽 하단에 검색 텍스트 상자에 사용자 유형 아무것도, 그것이 트 리뷰에서 워크 스테이션을 필터링 . 그런 다음 트리보기 항목을 선택하면 오른쪽의 세부 정보가 채워집니다. 위의 워크 스테이션 이름 필드에 표시된 것과 같이 검색어가 포함 된 텍스트 상자를 강조 표시하면 좋을 것입니다. 여기
는 내 코드의 일부 :하드 코딩 강조 텍스트 박스
<StackPanel Grid.Column="1" Grid.Row="0">
<Border Name="HighlightBorder" Grid.Column="1" Grid.Row="0" CornerRadius="4">
<Border.Background>
<RadialGradientBrush RadiusX="1" RadiusY="0.7">
<GradientStop Color="Black" Offset="1"/>
<GradientStop Color="#FFFFEA00"/>
</RadialGradientBrush>
</Border.Background>
<TextBox Margin="5" Height="32" FontSize="16" Foreground="White" Text="{Binding WorkstationName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Border>
</StackPanel>
검색 텍스트 상자 :
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Search:" Foreground="White" FontSize="16"/>
<TextBox Grid.Column="1" Text="{Binding SearchCriteria, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
만을 가지고있는 테두리가 할 수있는 간단한 방법이 있을까요 그 그라디언트 배경 텍스트 상자에 검색 텍스트 상자에 문자열을 포함하고 그렇지 않으면 검정색일까요? 나는 그것이 XAML만의 솔루션이되고 싶지만, 나는 그것에 대해서도 완고하지 않다.
배경 펄스가 약간 깔끔하다고 생각하지만 내 애니메이션을 알아 내기 위해 싸울 수 있습니다. 제 질문에 도움이 필요합니다.
감사합니다.
감사합니다! 초보자가 리소스에서 변환기를 정의하는 것이 더 어려울 수도 있다는 것을 스스로 알아야만했습니다. " " –
JonD
해당 스타일을 팝하려면 테두리 밖으로 및 리소스를 다른 테두리에 사용할뿐만 아니라, 거기에 어떤 종류의 RelativeSource 바인딩 하드 코드 된 ElementName ("workStationNameTextBox") 코딩 된 바꿀 수 있습니까? – JonD
내가 아는 그. ElementName에 대한 필요성을 없애려면 사용자 정의 컨트롤에 모든 요소를 캡슐화하는 것이 더 나을 것입니다. 모험적이라면 테두리를 없애고 HLSL을 사용하여 텍스트 상자에 광선 효과를 구현하는 방법을 살펴보십시오. – Nogusta