Как писать внутри содержимого дока в C#
E сть DockPanel
и когда я выполняю этот код, он добавляет содержимое док-станции к правой док-станции, НО я не могу заставить его отображать текст (т. е. выполнить шаги 1 и 2 и т. д., как показано ниже). Я сделал так много исследований, ничего не сработало. Заранее спасибо за помощь.
public void ShowInstructionForm()
{
dragDropForm = new DockContent();
dragDropForm.Name = "Hints";
dragDropForm.TabText = "Hints2";
dragDropForm.ShowHint = DockState.DockRight;
dragDropForm.BackColor = Color.White;
dragDropForm.Text = "- Perform the step number 1 ."
+ Environment.NewLine + " - Perform the Step number 2";
try
{
dragDropForm.Show(this.oDock.MainDock);
}
catch (Exception e)
{
MessageBox.Show(this.oDock.MainDock, "error happened " + e.Message);
}
}
2 ответа
Лично я бы использовал привязку данных для достижения того, чего вы хотите, чтобы вы придерживались более жесткого шаблона проектирования.
XAML
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<DockPanel>
<TextBlock Text="{Binding Path=Foo}" />
</DockPanel>
</Window>
C#
public partial class MainWindow : Window
{
public string Foo { get; set; }
public MainWindow()
{
Foo = "hello world"; // Changing Foo 'automagically' changes your textblock value
InitializeComponent();
}
}
Это позволяет вам быть более гибким, отделяя бизнес-логику от кода пользовательского интерфейса. Очевидно, что это всего лишь пример привязки данных с помощью текстового блока внутри панели док-станции, но, надеюсь, это поможет вам лучше понять.
Можете ли вы зайти в xaml и поместить текстовый блок в DockPanel следующим образом:
<DockPanel>
<TextBlock Text="- Perform the step number 1 ."/>
</DockPanel>