2009-12-16 3 views
0

Я нашел это answer в Stackoverflow для удаления водяного знака Datepicker.Datepicker Watermark

<Style TargetType="{x:Type toolkit:DatePickerTextBox}"> 
    <Setter Property="Text" Value="Bitte wählen" /> 
</Style> 

можно установить выше, используя код vb.net. Спасибо, Rey.

ответ

1

Единственный способ, которым я могу это сделать, - использовать словарь ресурсов.

Создайте ресурсный словарь с этим битом XAML в нем и добавьте словарь в свои ресурсы в окне Initialized. Это хороший способ динамически менять стили в WPF.

В Visual Studio, добавьте новый ресурс словарь и сделать его выглядеть следующим образом:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit" 
        > 
    <Style TargetType="{x:Type toolkit:DatePickerTextBox}"> 
     <Setter Property="Text" Value="Test" /> 
    </Style> 
</ResourceDictionary> 

Затем в окне добавьте следующее, чтобы добавить словарь ресурсов в ваши приложения ресурсов:

Private Sub Window1_Initialized(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Initialized 
    Dim rd As New ResourceDictionary() 
    rd = CType(Application.LoadComponent(New Uri("Dictionary1.xaml", UriKind.Relative)), ResourceDictionary) 
    Application.Current.Resources.MergedDictionaries.Clear() 
    Application.Current.Resources.MergedDictionaries.Add(rd) 
End Sub 

Если вы не хотите использовать стили, единственное, что кажется правильным, - это переопределить реализацию DatePicker по умолчанию и реализовать свои собственные. Хорошее описание того, как сделать это можно найти здесь:

http://www.tanguay.info/web/index.php?pg=codeExamples&id=144

+0

Я хочу, чтобы программно задать текст. Я не хочу использовать какие-либо стили. Спасибо за ответ .. – Manohar

+0

Добавлен еще один вариант, переопределите их и сделайте сами. Не идеальный, но, безусловно, выполнимый. – brendan