private void SetupComponents()
{
#region FlipViewPersona
FlipViewPersonaImage.HideControlButtons();
Grid[] aFlipViewAvatarArray = new Grid[28];
for (int i = 0; i < 28; i++)
{
Grid Grid_FlipViewDummy;
Image Image_FlipViewDummy;
Image_FlipViewDummy = new Image() { Margin = new Thickness(5.5d), HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Stretch = Stretch.Uniform, Source = (ImageSource)BitmapFrame.Create(new Uri("pack://application:,,,/OfflineServer;component/images/NFSW_Avatars/Avatar_" + i.ToString() + ".png", UriKind.Absolute)) };
Grid_FlipViewDummy = new Grid() { Margin = new Thickness(0.4d) };
Grid_FlipViewDummy.Children.Add(Image_FlipViewDummy);
Image t1 = new Image() { Source = Image_FlipViewDummy.Source };
t1.Effect = new BlurEffect() { Radius = 4.5d, RenderingBias = RenderingBias.Quality, KernelType = KernelType.Gaussian };
Grid_FlipViewDummy.Background = new VisualBrush(t1);
aFlipViewAvatarArray[i] = Grid_FlipViewDummy;
}
FlipViewPersonaImage.ItemsSource = aFlipViewAvatarArray;
Binding indexBind = new Binding()
{
Path = new PropertyPath("ActivePersona.IconIndex"),
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
Mode = BindingMode.TwoWay,
Source = Access.CurrentSession
};
BindingOperations.SetBinding(FlipViewPersonaImage, FlipView.SelectedIndexProperty, indexBind);
#endregion
#region MetroTile -> Random Persona Info
tRandomPersonaInfo_Tick(null, null);
RandomPersonaInfo.Tick += new EventHandler(tRandomPersonaInfo_Tick);
RandomPersonaInfo.Interval = new TimeSpan(0, 0, 10);
RandomPersonaInfo.Start();
#endregion
#region carDialog
Binding lBindSelect = new Binding()
{
Path = new PropertyPath("language.Select"),
Mode = BindingMode.OneWay,
Source = Access.dataAccess.appSettings.uiSettings
};
Binding lBindCancel = new Binding()
{
Path = new PropertyPath("language.Cancel"),
Mode = BindingMode.OneWay,
Source = Access.dataAccess.appSettings.uiSettings
};
Binding lBindSelectCar = new Binding()
{
Path = new PropertyPath("language.AddACarText"),
Mode = BindingMode.OneWay,
Source = Access.dataAccess.appSettings.uiSettings
};
ComboBox carComboBox = new ComboBox();
carComboBox.SetValue(Canvas.LeftProperty, 5d);
carComboBox.SetValue(Canvas.TopProperty, 20d);
carComboBox.Width = 297d;
carComboBox.ItemsSource = CarDefinitions.physicsProfileHashNormal.Values;
carComboBox.SelectedIndex = 0;
Button selectButton = new Button();
selectButton.SetValue(Canvas.LeftProperty, 148d);
selectButton.SetValue(Canvas.TopProperty, 54d);
selectButton.Width = 80d;
selectButton.Click += (object sender, RoutedEventArgs routedEventArgs) =>
{
CarEntity carEntity = new CarEntity();
carEntity.baseCarId = CarDefinitions.baseCarId.FirstOrDefault(key => key.Value == carComboBox.SelectedItem.ToString()).Key;
carEntity.carId = Access.CurrentSession.ActivePersona.Cars.Last().CarId + 1;
carEntity.durability = 100;
carEntity.heatLevel = 1;
carEntity.paints = "<Paints/>";
carEntity.performanceParts = "<PerformanceParts/>";
carEntity.physicsProfileHash = CarDefinitions.physicsProfileHashNormal.FirstOrDefault(key => key.Value == carComboBox.SelectedItem.ToString()).Key;
carEntity.raceClass = CarClass.E;
carEntity.rating = 123;
carEntity.resalePrice = 0;
carEntity.skillModParts = "<SkillModParts/>";
carEntity.vinyls = "<Vinyls/>";
carEntity.visualParts = "<VisualParts/>";
PersonaManagement.addCar(carEntity);
DialogManager.HideMetroDialogAsync(this, carDialog);
};
Button cancelButton = new Button();
cancelButton.SetValue(Canvas.LeftProperty, 233d);
cancelButton.SetValue(Canvas.TopProperty, 54d);
cancelButton.Width = 70d;
cancelButton.Click += (object sender, RoutedEventArgs routedEventArgs) =>
{
DialogManager.HideMetroDialogAsync(this, carDialog);
};
Canvas canvas = new Canvas();
canvas.Children.Add(carComboBox);
canvas.Children.Add(selectButton);
canvas.Children.Add(cancelButton);
carDialog = new CustomDialog();
carDialog.Height = 200d;
carDialog.Content = canvas;
// internationalization
BindingOperations.SetBinding(carDialog, CustomDialog.TitleProperty, lBindSelectCar);
BindingOperations.SetBinding(selectButton, Button.ContentProperty, lBindSelect);
BindingOperations.SetBinding(cancelButton, Button.ContentProperty, lBindCancel);
#endregion
}