2013-12-16 61 views
-1

我有一個radgridview其中一列就是一個編輯按鈕會被重定向頁面和列的其餘部分從我的源被數據綁定。Telerik的WPF GridView的預防重點放在按鈕點擊

我的問題是,要能夠按一個特定行首次用戶主要有按兩次的編輯按鈕,因爲第一個點擊某些原因首先集中整個gridview的眼簾。

這隻發生在整個gridview不適合視圖的情況下,所以我猜測它會盡可能自動調整自己,儘量讓它按下編輯按鈕 - 如果按任何按鈕,它都不會發生靜態不可編輯的字段 - 僅在編輯按鈕

<telerik:RadGridView Name="radGridView" VerticalAlignment="Top" 
        AutoGenerateColumns="False" 
        ValidatesOnDataErrors="None" IsReadOnly="True" 
        ShowColumnSortIndexes="True" 
        CanUserFreezeColumns="False" 
        ItemsSource="{Binding PagedSource, ElementName=radDataPager}" > 

    <telerik:RadGridView.Columns> 

     <telerik:GridViewColumn Header="Edit"> 
      <telerik:GridViewColumn.CellTemplate> 
       <DataTemplate> 
        <Button Content="Edit" Style="{StaticResource HyperLinkButtonStyle}" 
          Click="EditButton_Click" /> 
       </DataTemplate> 
      </telerik:GridViewColumn.CellTemplate> 
     </telerik:GridViewColumn> 

     <telerik:GridViewDataColumn DataMemberBinding="{Binding Organization}" Header="Organization"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding VisitDate, StringFormat=d}" Header="Visit Date"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding Location}" Header="Location"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding Address}" Header="Address"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding ContactPersonName}" Header="Contact Name"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding ContactPersonEmail}" Header="Contact E-mail"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding ContactMobileNumberConcatenate}" Header="Contact Mobile Number"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding ContactHomeNumberConcatenate}" Header="Contact Home Number"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding ContactOfficeNumberConcatenate}" Header="Contact Office Number"/> 
     <telerik:GridViewDataColumn DataMemberBinding="{Binding ContactFaxNumberConcatenate}" Header="Contact Fax Number"/> 

    </telerik:RadGridView.Columns> 

</telerik:RadGridView> 

是否有辦法防止這種重點從當我按在網格內的編輯按鈕發生了什麼?還是我失去了別的東西

+0

我沒有嘗試通過按鈕重新創建你的場景確實獲得第一次點擊的焦點。你能解釋一下你的問題。 – Satya

回答

0

出於某種原因,問題是,我使用的是按鈕,在DataTemplate中爲

<Button Content="Edit" Style="{StaticResource HyperLinkButtonStyle}" Click="EditButton_Click" /> 

一些有關的按鈕被製作在GridView之前已經先自己集中到視圖該按鈕隨後點擊將火在它不是在屏幕上完全擬合的情況下,單擊事件..

我落得這樣做只是使用Telerik的標籤,給它一個MouseLeftButtonDown事件

的解決方法
<telerik:Label Content="Edit" TouchDown="EditButton_Click" MouseLeftButtonDown="EditButton_Click" Style="{StaticResource HyperLinkStyle}"/> 

敢肯定你應該能夠使用常規的標籤以及

的HyperLinkStyle是隻是一種風格,使標籤加下劃線,並賦予其顏色和懸停狀態

<UserControl.Resources> 
     <Style x:Key='HyperLinkStyle' TargetType='telerik:Label'> 
      <Setter Property='Template'> 
       <Setter.Value> 
        <ControlTemplate TargetType='telerik:Label'> 
         <TextBlock TextDecorations='Underline'> 
          <ContentPresenter TextBlock.FontFamily='Segoe UI' TextBlock.FontSize='13'/> 
         </TextBlock> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
      <Setter Property='Foreground' Value='#195AE0' /> 
      <Style.Triggers> 
       <Trigger Property='IsMouseOver' Value='true'> 
        <Setter Property='Foreground' Value='Red' /> 
        <Setter Property='Cursor' Value='Hand' /> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </UserControl.Resources> 
0

你也可以改變按鈕的適當屬性,如果它不是重要的你:

<Button Focusable="False" Content="Edit" Style="{StaticResource HyperLinkButtonStyle}" Click="EditButton_Click"/>