UWP RichEditBox изначально показывает только одну строку в ListView
Проблема в том, что вы не указали c ширину для RichEditBox
, а ширина RichEditBox
не была адаптивной с ListViewitem
. В настоящее время у нас есть обходной путь, который мы должны использовать для привязки, чтобы динамически изменять ширину RichEditBox
.
public HomePage()
{
this.InitializeComponent();
this.Loaded += HomePage_Loaded;
this.DataContext = this;
}
private double _rdbWidth;
public double RDBWidth
{
get
{
return _rdbWidth;
}
set
{
_rdbWidth = value;
OnPropertyChanged();
}
}
private void MyListView_SizeChanged(object sender, SizeChangedEventArgs e)
{
RDBWidth = MyListView.ActualWidth;
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string proprtyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(proprtyName));
}
Код Xaml
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ListView x:Name="MyListView" SizeChanged="MyListView_SizeChanged">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0,0,0,0" />
<Setter Property="Margin" Value="0,0,0,0" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<RichEditBox
x:Name="MyRdb"
Width="{Binding ElementName=MyListView, Path=DataContext.RDBWidth}"
Margin="0"
local:BindableREBText.Text="{Binding}"
TextAlignment="Justify"
/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>