无法将类型“System.Windows.TextWrapping”隐式转换为“bool?” Column col = new Column(); col.TextWrapping = TextWrapping.Wrap; C#wpf
时间: 2024-09-13 21:14:56 浏览: 51
这个错误信息表示,在C#的WPF(Windows Presentation Foundation)环境中,你尝试将`System.Windows.TextWrapping`类型的值赋给一个预期为`bool?`(布尔值的nullable版本)的变量。`TextWrapping.Wrap`是一个枚举值,代表文本绕排的方式,而`bool?`通常用于存储可能存在null的情况的布尔值。
`TextWrapping.Wrap`不是`bool?`类型,所以系统无法直接隐式转换。如果你需要把`TextWrapping.Wrap`用于控制某种显示状态,并且该状态可能有`null`的选项,你应该创建一个新的字段或者属性来存储`TextWrapping`的值,并且明确地进行转换或者是设置适当的默认值,例如:
```csharp
bool? textWrappingAsBool = null; // 或者 bool? textWrappingAsBool = col.TextWrapping == TextWrapping.Wrap;
// 或者如果需要显式转换
if (col.TextWrapping == TextWrapping.Wrap)
textWrappingAsBool = true;
else
textWrappingAsBool = false;
```
相关问题
matlab中这条命令报错,如何修改:shape.TextWrapping = wdWrapSquare;
这个命令似乎是在使用 Microsoft Word 的 API 来设置文本框的文本换行方式。如果你想在 MATLAB 中设置文本框的文本换行方式,可以尝试使用 `text` 函数,它可以在图形窗口中创建文本对象并设置其属性。
例如,要创建一个具有自动换行的文本框,可以使用以下代码:
```matlab
str = '这是一个很长的字符串,需要自动换行。';
x = 0.1; y = 0.1; width = 0.8; height = 0.8;
text('Position', [x y], 'String', str, 'Units', 'normalized', 'HorizontalAlignment', 'left', 'VerticalAlignment', 'bottom', 'BackgroundColor', 'white', 'EdgeColor', 'black', 'Margin', 2, 'FontName', '宋体', 'FontSize', 12, 'FontWeight', 'normal', 'Interpreter', 'tex', 'ButtonDownFcn', []);
```
其中,`Margin` 属性指定文本框的边距(以点为单位),`HorizontalAlignment` 和 `VerticalAlignment` 属性指定文本框中文本的对齐方式。你可以根据需要修改这些属性。
<Grid x:Name="grid_1" Grid.Row="0" Margin="7, 7, 7, 50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" > <TextBox x:Name="txtPONumbersStr" HorizontalAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top" Text="{Binding Path = PONumbersStr, Mode=TwoWay}" InputMethod.IsInputMethodEnabled ="False" PreviewTextInput="TextBox_PONumbersStr_PreviewTextInput" IsEnabled="{Binding Path=IsEnabled}" Width="{Binding ElementName=grid, Path=ActualWidth}" Height="{Binding ElementName=grid, Path=ActualHeight}" /> </Grid>, 调整代码, 使得TextBox的边框显示出来
可以在TextBox标签中添加一个Border标签,并将TextBox放在其中,代码如下:
```
<Grid x:Name="grid_1" Grid.Row="0" Margin="7, 7, 7, 50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<Border BorderThickness="1" BorderBrush="Black">
<TextBox x:Name="txtPONumbersStr"
HorizontalAlignment="Center"
TextWrapping="Wrap"
VerticalAlignment="Top"
Text="{Binding Path = PONumbersStr, Mode=TwoWay}"
InputMethod.IsInputMethodEnabled ="False"
PreviewTextInput="TextBox_PONumbersStr_PreviewTextInput"
IsEnabled="{Binding Path=IsEnabled}"
Width="{Binding ElementName=grid, Path=ActualWidth}"
Height="{Binding ElementName=grid, Path=ActualHeight}" />
</Border>
</Grid>
```
在Border标签中设置BorderThickness和BorderBrush属性来定义边框的样式,可以根据需要进行调整。
阅读全文