текст по умолчанию в метке wpf - PullRequest
0 голосов
/ 19 марта 2012

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

Я использовал привязку данных, как показано ниже. Начальная строка «Пожалуйста, не выходите из приложения». После выполнения фоновой задачи файл xml обновляется и, следовательно, текст метки также обновляется.

<Label Name="label6_3" Content="{Binding XPath=/Cred/DB/Page6/label6_3}"   Foreground="#FF004200" />

initial:
<?xml version="1.0" encoding="utf-8"?>
<Cred>
<DB>
 <Page6>
    <label6_3>Please do not quit the application.</label6_3>
 </Page6>

 final:
<?xml version="1.0" encoding="utf-8"?>
 <Cred>
      <DB>
        <Page6>
          <label6_3>Please click on Next to continue.</label6_3>
        </Page6>
     </DB>
    </Cred>

Но проблема в том, что мне нужно отменить изменения в файле xml перед каждым запуском приложения, в противном случае начальная строка становится "" Пожалуйста, нажмите Далее, чтобы продолжить. "вместо" Пожалуйста, не выходите из приложения. "

Как мне этого избежать?

Спасибо.

1 Ответ

1 голос
/ 19 марта 2012

Вы должны использовать DataTrigger.Я использую TextBlock вместо ярлыков, но то же самое относится к Label, как тот, который вы используете:

<TextBlock> 
      <TextBlock.Style>
         <Style>
           <Style.Triggers>
             <DataTrigger Binding="{Binding TaskCompleted}" Value="True">
               <Setter Property="TextBlock.Text" Value="Task Completed!"/>
             </DataTrigger>
           </Style.Triggers>
         </Style>
      </TextBlock.Style>
    </TextBlock> 
...