상태 정보 팝업에서 여러 줄 TextBox를 호스팅하여 읽기 전용, 여러 줄 및 스크롤 가능한 정보를 표시하려고합니다. 다음 XAML은 텍스트가 이 아니며이 아니므로 잘 작동합니다 (사용자가 복사 할 수 있도록).팝업 내 WPF TextBox에서 텍스트를 선택할 수 없습니다.
<!-- Status info popup -->
<Popup AllowsTransparency="True" PopupAnimation="Fade" Placement="Center" StaysOpen="False"
PlacementTarget="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type v:ModuleView}}}"
IsOpen="{Binding ShowingStatusInformation}">
<Border CornerRadius="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Text="Status Information"
Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" />
<Button Content="OK" IsDefault="True" Command="{Binding ToggleStatusInfoCommand}"
HorizontalAlignment="Right" Margin="0 5" Padding="20 3"
Grid.Column="1" Grid.Row="0" VerticalAlignment="Center">
<Button.CommandParameter><sys:Boolean>False</sys:Boolean></Button.CommandParameter>
</Button>
<TextBox IsReadOnly="True" Text="{Binding StatusInformation}"
Margin="6 6 6 3" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1"
TextWrapping="Wrap" VerticalScrollBarVisibility="Auto"
MaxHeight="300" />
</Grid>
</Border>
</Popup>
뷰 모델에 해당하는 속성 :
public string StatusInformation
{
get { return _statusInformation; }
set
{
_statusInformation = value;
_propertyChangedHelper.NotifyPropertyChanged(this,() => StatusInformation);
}
}
public bool ShowingStatusInformation
{
get { return _showingStatusInformation; }
set
{
_showingStatusInformation = value;
_propertyChangedHelper.NotifyPropertyChanged(this,() => ShowingStatusInformation);
}
}
어떻게 든 텍스트 선택을 해제 팝업에 텍스트 상자를 호스팅 하는가, 또는 내 바인딩에 문제가? 텍스트를 선택할 수있는 모달 창에서 호스팅되는 TextBox를 바꿉니다.
업데이트 : Win Forms 컨테이너 내부에서 호스팅되는 WPF를 사용하는 .NET 3.5 응용 프로그램에서이 문제가 발생합니다.
나는 WPF 4 사용하여 프로젝트에이 코드를 붙여 내가 텍스트 상자의 텍스트를 선택할 수 있습니다. – Zamboni
이것은 Win Forms 컨테이너 내에 WPF가 호스트 된 .NET 3.5 프로젝트에서 발생합니다. – bruceboughton
@ Zamboni : WPF 4에서 사용해 주셔서 감사합니다. 문제가 다소 좁혀졌습니다. – bruceboughton