Ciao , 
Mi sono avvicinato a C# da qualche giorno ed ho installato anche MariaDB.
Questo codice funzionante estrae una colonna dalla tabella e la visualizza tramite datagrid. 
Mi sono aiutato con una guida iniziando allo stesso tempo ad approfondire l'argomento che riporto qui sotto
Dopo vari studi di XAML e MySQL non mi è chiaro un punto mentre spero che il resto sia giusto.
Il codice di sotto esegue secondo me questi passi:
- APERTURA: Impostiamo la string di connessione leggendola da ConnecionStrings.Tenta di aprire la connessione.
- COMANDO: Definiamo una query per estrarre la colonna Codifica dalla tabella tb1
- INTERFACCIA: Il DataAdapter che interfaccia il db mysql con il dataset eseguendo comandi. Fa da ponte (Bridge)
- MEMORIA: Il dataset un'area di memoria dove sono memorizzati i dati di uno o piu tabelle pronta per essere letta o scritta.
 public partial class MainWindow : Window
    {
        #region MySqlConnection Connection
        MySqlConnection connection = new MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        public MainWindow()
        {
            InitializeComponent();
            testDB();
        }
        #endregion
        private void testDB()
        {
            try
            {
                connection.Open();
                MySqlCommand cmd = new MySqlCommand("SELECT Codifica FROM tb1;", connection);
                MySqlDataAdapter adp = new MySqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                adp.Fill(ds, "LoadDataBinding");  
                dataGridCustomers.DataContext = ds;
            }
            catch (MySqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                connection.Close();
            }
        }
    }
Nel codice XAML
       <Grid HorizontalAlignment="Left" Height="310" VerticalAlignment="Top" Width="625">
            <DataGrid AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="14,55,0,46" Name="dataGridCustomers" Width="575" itemsSource="{Binding Path=LoadDataBinding}" CanUserResizeRows="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Path=Codifica}" Header="Codifica" Width="100" IsReadOnly="True" />
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
Il dataGrid assume come nome DataGridCustomers e viene popolato con i dati del DataSet ds.
Il loadDataBinding immagino sia necessario per "copiare" i dati dal dataset al datagrid.
Nell'help di MSDN la sintassi FILL è  Fill( Dataset, String) dove string è una tabella
Non ho capito cos'è LoadDataBinding, non credo sia una tabella
Credo che "da li passano i dati verso la parte grafica" , ma non ho capito