2017-12-08 6 views
-4

TextBlockと2つのボタンを持つ簡単なUserControlがあります。WPF TextBlockをクリックしないようにする

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="150" /> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="1*" /> 
    </Grid.RowDefinitions> 
    <TextBlock Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Height="30" Text="Please install updates" Foreground="#FFF" FontWeight="Bold" Margin="0,0,0,20" Grid.RowSpan="2"/> 
    <Button Grid.Column="0" Grid.Row="1" Content="Restart Now" Margin="5 0 0 0" Width="80" Height="25" HorizontalAlignment="Right" /> 
    <Button Grid.Column="1" Grid.Row="1" Content="Snooze" Width="60" Height="25" Margin="10 0 0 0" HorizontalAlignment="Left" Click="bttnOK_Click" /> 
</Grid> 

何らかの理由で、TextBlockをクリックしてクリックすると、コントロールが閉じます。 enter image description here

どのようにしてTextBlockをクリックできないようにしますか?

+0

、次のようになります。たぶん、デフォルトのプロパティを上書きするスタイルがありますか? 1つは 'IsCancel'を' true'に設定します。 – mcy

+0

親オブジェクト/スタイルの詳細について教えてください。 – rodrigogq

+2

XAMLを新しいプロジェクトにコピーしましたが、 'Textblock'は*クリックできません。問題は他の場所にあるはずです。 –

答えて

0

<TextBlock ... Grid.RowSpan=2/>が追加されているため、TextBlockがButtonsの領域に入るようです。 また、TextBlockでRowSpanを削除しても問題が解決しない場合は、IsHitTestVisible=falseをTextBlockに追加してみてください。

それは通常、彼らは非クリッカブルある

<Grid> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="150" /> 
</Grid.ColumnDefinitions> 
<Grid.RowDefinitions> 
    <RowDefinition Height="*" /> 
    <RowDefinition Height="1*" /> 
</Grid.RowDefinitions> 
<TextBlock Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Height="30" Text="Please install updates" Foreground="#FFF" FontWeight="Bold" Margin="0,0,0,20"/> 
<Button Grid.Column="0" Grid.Row="1" Content="Restart Now" Margin="5 0 0 0" Width="80" Height="25" HorizontalAlignment="Right" /> 
<Button Grid.Column="1" Grid.Row="1" Content="Snooze" Width="60" Height="25" Margin="10 0 0 0" HorizontalAlignment="Left" Click="bttnOK_Click" /> 

+0

RowSpan = 2の場合でも、ボタンはまだTextBlockの上にあります。だから何がポイントですか? – Clemens

+0

これらは視覚的には...ですが、ButtonBorderがTextBlockまで拡張されている可能性があります。または、このUserControlを囲んでいるコンテナがクリック可能である可能性があります。 IsHitTestVisible = falseをコンテナに追加してみてください。 –

+0

IsHitTestVisible = "False"が助けになりました。どうもありがとう! – 01egi4

関連する問題