2015-02-26 7 views
0

Я пытаюсь настроить Grid, содержащий 2 элементов управления. Один из них - это Canvas, у которого есть изображение для его фона, а одно - TextBox, которое является верхней частью части холста.Непрозрачность текстового поля не работает

Моя проблема заключается в том, что часть изображения, которую использует Canvas в качестве фона, имеет линии, которые я пытаюсь полностью скрыть текстовым полем. Даже когда я устанавливаю непрозрачность текстового поля на 100%, вы все равно можете просмотреть его и увидеть строки позади него, как показано (светло-серые линии - это черные линии, которые я пытаюсь покрыть текстовым полем):

enter image description here

Как я уже сказал, у меня непрозрачность текстового поля на 100%, но это все еще происходит. Heres my XAML:

<Grid x:Name="PriorGrid" Height="1173" Width="715"> 
     <Canvas x:Name="DrawingCanvas"> 
      <Canvas.Background> 
       <ImageBrush ImageSource="Assets/prior.png"/> 
      </Canvas.Background> 
     </Canvas> 
     <TextBox x:Name="PriorNoteTextBox" HorizontalAlignment="Left" Margin="0,762,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="228" Width="695" Opacity="100"/> 
    </Grid> 

Что может вызвать это?

+0

Хорошо, он отлично работает на моей машине, и если вы хотите полностью непрозрачный объект, вам не нужно устанавливать непрозрачность. – Muds

+0

Возможно, вам придется изменить цвет фона текстового поля. Возможно, он установлен на прозрачный, который обычно устанавливает его на фоновое изображение основного элемента управления. Измените цвет на «Управление» или, возможно, на белый. –

+0

@ user2357446 У вас есть неявный стиль, который изменяет шаблон «TextBox»? Если да, покажите это в своем вопросе. Также ['Opacity'] (https://msdn.microsoft.com/en-us/library/system.windows.uielement.opacity%28v=vs.110%29.aspx) принимает значения от 0.0 до 1.0 – dkozl

ответ

0

он отлично работает на моей машине, просто проверьте, не создаете ли вы фона своего текстового поля, чтобы он был прозрачным, или просто добавьте управление изображением в свою сетку и разместите над ним текстовое поле. например

<Grid x:Name="PriorGrid"> 
    <Image Stretch="Fill" Source="C:\Users\malhom\Pictures\Bart.png"/> 
    <TextBox x:Name="PriorNoteTextBox" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top"/> 
</Grid> 
Смежные вопросы