2016-03-07 70 views
1

如何從文本框tbUser中獲取代碼輸入? 我需要該輸入來處理代碼後,我得到的錯誤,tbUser不存在DataGrid堆棧面板中的文本框輸入WPF

<DataGridTextColumn Binding="{Binding User Name}" Width="130" MinWidth="130" MaxWidth="150"> 
    <DataGridTextColumn.HeaderTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <TextBox BorderBrush="Black" BorderThickness="1" Margin="1" 
        Name="tbUser" Width="117" MinWidth="117" MaxWidth="147"/> 
       <TextBlock Text="User Name" Margin="1" FontWeight="DemiBold" 
        TextWrapping="Wrap" TextAlignment="Left"/> 
      </StackPanel> 
     </DataTemplate> 
    </DataGridTextColumn.HeaderTemplate> 
    <DataGridTextColumn.ElementStyle> 
     <Style> 
      <Setter Property="TextBlock.TextWrapping" Value="Wrap" /> 
      <Setter Property="TextBlock.TextAlignment" Value="Left"/> 
     </Style> 
    </DataGridTextColumn.ElementStyle> 
</DataGridTextColumn> 

回答

0

您可以更改DataGridTextColumn.HeaderTemplateDataGridTextColumn.Header,因爲你使用這個模板僅爲該列,並且沒有在此改變ControlTemplate

<DataGrid.Columns> 
    <DataGridTextColumn Binding="{Binding UserName}" Width="130" MinWidth="130" MaxWidth="150"> 
     <DataGridTextColumn.Header> 
      <StackPanel> 
       <TextBox BorderBrush="Black" BorderThickness="1" Margin="1" Name="tbUser" Width="117" MinWidth="117" MaxWidth="147"/> 
       <TextBlock Text="User Name" Margin="1" FontWeight="DemiBold" 
      TextWrapping="Wrap" TextAlignment="Left"/> 
      </StackPanel> 
     </DataGridTextColumn.Header> 
     <DataGridTextColumn.ElementStyle> 
      <Style> 
       <Setter Property="TextBlock.TextWrapping" Value="Wrap" /> 
       <Setter Property="TextBlock.TextAlignment" Value="Left"/> 
      </Style> 
     </DataGridTextColumn.ElementStyle> 
    </DataGridTextColumn> 
</DataGrid.Columns> 

有一個綁定錯誤Binding="{Binding User Name}"。你的意思是Binding="{Binding UserName}"(沒有空格)?

+0

非常感謝你,它的工作原理。沒有錯誤,我從SQL表綁定,並且用戶名是列的名稱..其中有空格:) – AlinaM

+0

沒錯。很高興幫助你:) – Sakura