private void BindManagedProperties()
{
transitionButtons.Children.Clear();
// Establish the transition toolbar
if (null != _thisCard.Transitions)
{
foreach (var t in _thisCard.Transitions)
{
// transition button
var button = new Button
{
ToolTip = VisualStudio.Resources.ClickToMakeTransition,
Background = BUTTON_BACKROUND,
Margin = BUTTON_MARGIN,
Style = Application.Current.Resources["PlainButtonStyle"] as Style,
DataContext = t
};
// Text block for the transition nomenclature
var text = new TextBlock { Height = BUTTON_HEIGHT, Text = t.Name, Margin = new Thickness(3, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center };
var buttonPanel = new StackPanel
{
Orientation = Orientation.Horizontal,
Height = BUTTON_HEIGHT,
HorizontalAlignment = HorizontalAlignment.Left,
VerticalAlignment = VerticalAlignment.Center
};
// align icon and text horizontally
buttonPanel.Children.Add(new Image { Source = new BitmapImage(new Uri(TRANSITION_ICON, UriKind.Relative)), Height=20, Width = 20 });
buttonPanel.Children.Add(text);
// finalize the button
button.Content = buttonPanel;
button.Click += OnTransitionButtonClick;
button.Style = Application.Current.Resources["PlainButtonStyle"] as Style;
transitionButtons.Children.Add(button);
}
}
tabs.DataContext = _thisCard;
cardName.SetBinding(TextBox.TextProperty, "Name");
cardName.Tag = cardName.Text;
cardDescription.SetBinding(TextBox.TextProperty, "Description");
cardDescription.Tag = cardDescription.Text;
cardType.Text = _thisCard.CardType;
cardType.IsReadOnly = true;
cardProjectName.Text = _thisCard.ProjectName;
cardProjectName.Tag = cardProjectName.Text;
cardVersion.SetBinding(TextBox.TextProperty, "Version");
cardVersion.Tag = cardVersion.Text;
cardRank.SetBinding(TextBox.TextProperty, "Rank");
cardRank.Tag = cardRank.Text;
cardCreatedOn.SetBinding(TextBox.TextProperty, "CreatedOn");
cardCreatedOn.Tag = cardCreatedOn.Text;
cardCreatedBy.SetBinding(TextBox.TextProperty, "CreatedBy");
cardCreatedBy.Tag = cardCreatedBy.Text;
cardModifiedOn.SetBinding(TextBox.TextProperty, "ModifiedOn");
cardModifiedOn.Tag = cardModifiedOn.Text;
cardModifiedBy.SetBinding(TextBox.TextProperty, "MofidiedBy");
cardModifiedBy.Tag = cardModifiedBy.Text;
descriptionBrowser.Source = new Uri(_thisCard.RenderedDescription);
commentsList.ItemsSource = _thisCard.Model.GetCommentsForCard(_thisCard.Number);
}