I currently have a WPF data grid with a button.
<DataGrid x:Name="AVL3DataGrid" IsReadOnly="False" ItemsSource="{Binding AVL3DB}" HorizontalAlignment="Stretch" Width="auto" RenderTransformOrigin="-1.802,-5.399" VerticalAlignment="Stretch" Margin="0,36,0,0">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Name="LaunchAVL3URLButton" Click="LaunchAVL3URLButton_Click" CommandParameter="{Binding Path=AVL3URL}">Launch</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
When i click the button I want it to take the URL and pass it into a web browsers, but I don't know how to convert the object to a string.
private void LaunchAVL3URLButton_Click(Object sender, RoutedEventArgs e)
{
object AVL3URL = ((Button)sender).CommandParameter;
string url = AVL3URL;
string browserPath = GetStandardBrowserPath();
if (string.IsNullOrEmpty(browserPath))
{
MessageBox.Show("No default browser found!");
}
else
{
Process.Start(browserPath, url);
}
}
I get the following error: Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)
You are trying to set an object to a string here:
string url = AVL3URL;
This should be:
string url = (string)AVL3URL;