Question: I'm trying to join two tables based on two values being alike. I have this so far but I'm getting a SQL error as soon as I use the `%`.

```
SELECT downloads.d_key, payer_email
FROM    paypal_log
INNER JOIN
        downloads
ON      downloads.d_key LIKE "%" + paypal_log.custom + "%"

```

The `downloads.d_key` will be within the `paypal_log.custom`.

Any help appreciated with this.

Answer: 
The problem is that you're setting the `ShowCategories` value to itself:

```
((UserControl1)d).ShowCategories = (bool)e.NewValue;

```

This line is useless, since the value of `ShowCategories` has already been modified. That's why you're in the property changed callback in the first place. At first glance, this could be seen as a no-op: after all, you're simply setting a property value to its current value, which in WPF doesn't raise any change.

However, since the binding isn't two-way, changing the property value **overwrites** the binding. That's why there is no more callback raised. Simply remove the assignment in the callback and you're done.
Make the binding mode to be `TwoWay`.