我是XAML和WPF的新手,在添加按钮后,我无法将其他类型的控件(例如文本框或标签(添加到网格中。您能解释一下我在哪里犯了一个错误(我想新手家伙应该是一个简单的错误(。
我已经使用Win表单在C#中创建了一个应用程序,并决定使用以前从未使用过的WPF创建同一应用程序,以便我可以学习一些新知识。我在c#fyi中不好。我在Visual Studio中使用WPF应用程序启动了新项目,为网格创建了2列和4行,并开始向其添加一些控件。不幸的是,我无法在同一网格上使用按钮和其他类型的控件来制作工作应用程序。看来网格可以让我只添加1种控件,这对我来说是没有意义的,我找不到有关此类限制的任何信息。包括简单的XAML代码。
<Window x:Class="AjStock_WPF_3.CSVToSQL"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:AjStock_WPF_3"
mc:Ignorable="d"
Title="CSVToSQL" Height="450" Width="800" MinHeight="200" MinWidth="250">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="50" />
<RowDefinition Height="*" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<Button Grid.Column="0" Grid.Row="0">
<Button.Name>GetCSVFile</Button.Name>
<Button.Content>Get CSV file</Button.Content>
<Button.Margin>10</Button.Margin>
<Button.VerticalContentAlignment>Center</Button.VerticalContentAlignment>
<Button.HorizontalContentAlignment>Center</Button.HorizontalContentAlignment>
<Button.FontWeight>Bold</Button.FontWeight>
<Button.FontSize>14</Button.FontSize>
<Button.BorderThickness>2</Button.BorderThickness>
</Button>
<TextBox Grid.Column="1" Grid.Row="0">
<TextBox.VerticalContentAlignment>Center</TextBox.VerticalContentAlignment>
<TextBox.HorizontalContentAlignment>Center</TextBox.HorizontalContentAlignment>
<TextBox.Margin>10</TextBox.Margin>
</TextBox>
</Grid>
预期结果将是一个具有这样的控件的窗口:
Button | TextBox
Label | TextBox
Button | TextBox
Button | Button
我收到的错误:
CS0029无法隐式转换类型 'system.windows.controls.textbox'至 'system.windows.controls.button'ajstock_wpf_3 d: oneDrive microsoft 视觉的 Studio source repos ajstock_wpf_3 ajstock_wpf_3 obj obj debug debug csvtosql.g.cs 104活动
您需要删除
<Button.Name>GetCSVFile</Button.Name>
并替换为
<Button Grid.Column="0" Grid.Row="0" Name="GetCSVFile">
不确定为什么需要这是删除文本框,仅保留按钮,它会编译。它可能与x:名称的映射有关,但不是100%确定的。